跳到主要内容

数据库初始化参数介绍

root dbspace 配置参数

配置参数参考
ROOTNAME 配置参数root dbspace 名称。
ROOTPATH 配置参数root dbspace 的路径。
ROOTOFFSET 配置参数root dbspace 的偏移量。
ROOTSIZE 配置参数root dbspace 的大小。
MIRROR 配置参数启用或禁用镜像。
MIRRORPATH 配置参数镜像 root dbspace 的路径。
MIRROROFFSET 配置参数镜像 root dbspace 的偏移量。

物理日志配置参数

配置参数参考
PHYSFILE 配置参数物理日志的大小。
PLOG_OVERFLOW_PATH 配置参数物理日志文件的溢出目录。
PHYSBUFF 配置参数物理日志缓冲区的大小。

逻辑日志配置参数

配置参数参考
LOGFILES 配置参数 逻辑日志文件的数量。
LOGSIZE 配置参数 每个逻辑日志文件的大小。
DYNAMIC_LOGS 配置参数 动态日志分配的类型。
LOGBUFF 配置参数 逻辑日志缓冲区的大小。

长事务配置参数

配置参数参考
LTXHWM 配置参数在一个长事务回滚之前可以填满逻辑日志文件的百分比。
LTXEHWM 配置参数为了使一个长事务排他地使用日志,在服务器挂起其他活动之前可以填满逻辑日志文件的百分比。

服务器消息文件配置参数

配置参数参考
MSGPATH 配置参数 消息文件的路径。
CONSOLE 配置参数 控制台消息文件的路径。

tblspace 配置参数

配置参数参考
TBLTBLFIRST 配置参数 tblspace tblspace 的第一个 extent 的大小。
TBLTBLNEXT 配置参数 tblspace tblspace 的下一个 extent 的大小。
TBLSPACE_STATS 配置参数 启用或禁用 tblspace 统计。

临时 dbspace 和 sbspace 配置参数

配置参数参考
DBSPACETEMP 配置参数 临时对象的 dbspace 列表。
SBSPACETEMP 配置参数 临时智能大对象的 sbspace 列表。

dbspace 和 sbspace 配置参数

配置参数参考
SBSPACENAME 配置参数 存储智能大对象的缺省 sbspace。
SYSSBSPACENAME 配置参数 系统统计的缺省 sbspace。
ONDBSPACEDOWN 配置参数 指定当一个 dbspace 不可用时服务器的行为。

系统配置参数

配置参数参考
SERVERNUM 配置参数 数据库服务器实例的唯一 ID。
FULL_DISK_INIT 配置参数 防止一个现有服务器实例的意外磁盘重新初始化。

网络配置参数

配置参数参考
NETTYPE 配置参数 一个特定协议的轮询线程配置。
LISTEN_TIMEOUT 配置参数 数据库服务器等待一次连接的时间。
MAX_INCOMPLETE_CONNECTIONS 配置参数 不完整连接的最大数目。
FASTPOLL 配置参数 启用或禁用快速轮询。
NUMFDSERVERS 配置参数 对于 UNIX 上的网络连接,使用 NUMFDSERVERS 配置参数来指定某些轮询线程的最大数目,这些线程处理正在 VP 之间移动的网络连接。
NS_CACHE 配置参数 定义单个条目的最大保留时间,条目位于主机名/IP 地址高速缓存、服务高速缓存、用户高速缓存和组高速缓存之中。

CPU 相关的配置参数

配置参数参考
MULTIPROCESSOR 配置参数 设置为 1 支持多个 CPU VP。
VPCLASS 配置参数 定义每一个 CPU 虚拟处理器类的特性
VP_MEMORY_CACHE_KB 配置参数 CPU 虚拟处理器的专用内存块数量。
SINGLE_CPU_VP 配置参数 设置为 0 来启动用户定义 CPU VP,或为单个 CPU VP 设置为 1。

自动调整配置参数

配置参数参考
AUTO_TUNE 配置参数 启用或禁用全部自动调整配置参数,在 onconfig 文件里没有这些参数的值。
AUTO_LRU_TUNING 配置参数 启用或禁用 LRU 队列的自动调整。
AUTO_AIOVPS 配置参数 启用或禁用 AIO 虚拟处理器的自动管理。
AUTO_CKPTS 配置参数 启用或禁用自动检查点。
AUTO_REPREPARE 配置参数 启用或禁用自动地重新优化存储过程和重新准备已准备就绪的语句。
AUTO_STAT_MODE 配置参数 启用或禁用自动地重新优化存储过程和重新准备已准备就绪的语句。
AUTO_READAHEAD 配置参数 更改查询的自动预读模式或者禁用或启用查询的自动预读。

AIO 和清除程序相关的配置参数

配置参数参考
VPCLASS 配置参数 配置 AIO 虚拟处理器。
CLEANERS 配置参数 页清除程序线程的数目。
DIRECT_IO 配置参数(UNIX) 指定是否使用直接 I/O。

锁相关的配置参数

配置参数参考
LOCKS 配置参数 启动时锁的初始数目。
DEF_TABLE_LOCKMODE 配置参数 缺省的表锁模式。

共享内存配置参数

配置参数参考
RESIDENT 配置参数 控制共享内存是否驻留。
SHMBASE 配置参数 共享内存基本地址。不要更改该值。
SHMVIRTSIZE 配置参数 共享内存虚拟部分的初始大小,以 KB 为单位。
SHMADD 配置参数 虚拟共享内存部分的大小。
EXTSHMADD 配置参数 用户定义例程和 DataBlade 的每一个虚拟扩展共享内存部分的大小,这些例程运行在用户定义虚拟处理器中。
SHMTOTAL 配置参数 数据库服务器共享内存的最大数量。
SHMVIRT_ALLOCSEG 配置参数 控制添加一个内存部分的时间。
SHMNOACCESS 配置参数 罗列服务器不能访问的那些共享内存地址。

检查点和系统锁配置参数

配置参数参考
CKPTINTVL 配置参数 如果需要一个检查点,那么检查频率如何。
RTO_SERVER_RESTART 配置参数 故障后重启的恢复时间目标。
BLOCKTIMEOUT 配置参数 系统阻塞的时间量。

转换防护配置参数

配置参数参考
CONVERSION_GUARD 配置参数 如果在升级期间发生错误,指定是停止升级还是继续升级。
RESTORE_POINT_DIR 配置参数 当启用 CONVERSION_GUARD 时,在一次失败的升级期间,将路径名指定到一个放置恢复点文件的空目录。

事务相关的配置参数

配置参数参考
TXTIMEOUT 配置参数 分布式事务超时期间。
DEADLOCK_TIMEOUT 配置参数 在一个分布式事务中等待锁的最大时间量。
HETERO_COMMIT 配置参数 为使用 EGM 网关的事务启用或禁用异类提交。

ontape 磁带设备配置参数

配置参数参考
TAPEDEV 配置参数用于备份的磁带设备。
TAPEBLK 配置参数磁带块大小。
TAPESIZE 配置参数在一备份磁带上放置的最大数据量。

ontape 逻辑日志磁带设备配置参数

配置参数参考
LTAPEDEV 配置参数用于逻辑日志备份的磁带设备。
LTAPEBLK 配置参数逻辑日志备份的磁带块大小。
LTAPESIZE 配置参数在一逻辑日志备份磁带上放置的最大数据量。

备份和恢复配置参数

配置参数参考
BAR_ACT_LOG 配置参数ON-Bar 活动日志文件的位置。
BAR_DEBUG_LOG 配置参数ON-Bar 调试日志文件的位置。
BAR_DEBUG 配置参数ON-Bar 的调试级别。
BAR_MAX_BACKUP 配置参数一备份中使用的备份线程数目。
BAR_RETRY 配置参数再次尝试备份或恢复的次数。
BAR_NB_XPORT_COUNT 配置参数每一备份进程使用的数据缓冲区数目。
BAR_XFER_BUF_SIZE 配置参数每个数据缓冲区的大小。
RESTARTABLE_RESTORE 配置参数失败后启用 ON-Bar 来继续备份。
BAR_PROGRESS_FREQ 配置参数将进展消息放置到活动日志中的频率。
BAR_BSALIB_PATH 配置参数ON-Bar 和存储管理器的共享库路径。
BACKUP_FILTER 配置参数备份期间使用的过滤程序路径。
RESTORE_FILTER 配置参数恢复期间使用的过滤程序路径。
BAR_PERFORMANCE 配置参数报告的 ON-Bar 性能统计类型。
BAR_CKPTSEC_TIMEOUT 配置参数在辅助服务器中等待完成归档检查点的秒数。

主存储管理器配置参数

配置参数参考
PSM_ACT_LOG 配置参数如果您不想在 ON-Bar 活动日志中包括日志信息的话,指定 GBase 8s 主存储管理器活动日志的位置。
PSM_DEBUG_LOG 配置参数如果您不想在 ON-Bar 调试日志中包括日志信息的话,指定 GBase 8s 主存储管理器调试日志的位置。
PSM_DEBUG 配置参数如果您想使用一个与 ON-Bar 所用调试级别不同的级别的话,指定打印在 GBase 8s 主存储管理器调试日志中的信息量。
PSM_CATALOG 配置参数指定包含 GBase 8s 主存储管理器目录表的目录的完整路径。
PSM_DBS_POOL 配置参数指定 GBase 8s 主存储管理器放置备份和恢复 dbspace 数据池的名称。
PSM_LOG_POOL 配置参数指定 GBase 8s 主存储管理器放置备份和恢复日志数据池的名称。

数据字典高速缓存配置参数

配置参数参考
DD_HASHSIZE 配置参数 数据字典高速缓存中散列存储区的数目。
DD_HASHMAX 配置参数 每个散列存储区中表的最大数目。

数据分布配置参数

配置参数参考
DS_HASHSIZE 配置参数 在数据分布高速缓存和其他高速缓存中的散列存储区数目。
DS_POOLSIZE 配置参数 在数据分布高速缓存和其他高速缓存中的最大条目数。

用户定义例程(UDR)配置参数

配置参数参考
PC_HASHSIZE 配置参数 在 UDR 高速缓存中的散列存储区数目。
PC_POOLSIZE 配置参数 在 UDR 高速缓存中的最大条目数目。
PRELOAD_DLL_FILE 配置参数 在服务器启动时加载的 C UDR 共享库路径名。

SQL 语句高速缓存配置参数

配置参数参考
STMT_CACHE 配置参数 控制 SQL 语句高速缓存。
STMT_CACHE_HITS 配置参数 在高速缓存之前运行 SQL 语句的次数。
STMT_CACHE_SIZE 配置参数 SQL 语句高速缓存的大小。
STMT_CACHE_NOLIMIT 配置参数 控制 SQL 语句高速缓存的额外内存消耗。
STMT_CACHE_NUMPOOL 配置参数 SQL 语句高速缓存的池数。

操作系统会话相关的配置参数

配置参数参考
USEOSTIME 配置参数 SQL 语句的计时精度。
STACKSIZE 配置参数 会话堆栈的大小。
ALLOW_NEWLINE 配置参数在 SQL 语句中是否允许嵌入换行符。
1.0 表示不允许在所有会话的加引号字符串中出现换行符。缺省值。
2.1 表示允许在所有会话的加引号字符串中出现换行符。
3.当未设置 ALLOW_NEWLINE 时,要想允许或不允许当前会话的加引号字符串中出现换行符,可以执行内建 ifx_allow_newline() 例程,其唯一的参数为 't' 或 'f'。't' 启用支持加引号字符串内部的换行符。'f' 效果相反。调用 ifx_allow_newline() 只影响调用那个例程的用户会话。
USELASTCOMMITTED 配置参数 控制 committed read 隔离级别。

索引相关的配置参数

配置参数参考
FILLFACTOR 配置参数 索引页充满百分比。
MAX_FILL_DATA_PAGES 配置参数 如果数据页有可变长度行,启用或禁用尽可能填满数据页。
BTSCANNER 配置参数 配置 B-tree 扫描程序线程。
ONLIDX_MAXMEM 配置参数 pre-image 和 updator 日志池的内存数量。

并行数据库查询(PDQ)配置参数

配置参数参考
MAX_PDQPRIORITY 配置参数 单一查询的最大资源百分比。
DS_MAX_QUERIES 配置参数 并发决策支持查询的最大数。
DS_TOTAL_MEMORY 配置参数 决策支持内存的最大量。
DS_MAX_SCANS 配置参数 决策支持扫描的最大数。
DS_NONPDQ_QUERY_MEM 配置参数 非 PDQ 查询内存的数量。
DATASKIP 配置参数 在处理查询时是否跳过一个 dbspace。

优化器配置参数

配置参数参考
OPTCOMPIND 配置参数 控制优化器如何确定最佳查询路径。
DIRECTIVES 配置参数 启用或禁用 inline 优化器伪指令。
EXT_DIRECTIVES 配置参数 启用或禁用外部伪指令。
OPT_GOAL 配置参数 控制如何优化进行最快检索。
IFX_FOLDVIEW 配置参数 启用或禁用折叠视图。
STATCHANGE 配置参数 给一个更改阈的全局百分比指定一个正整数,来确定需要更新的数据分布统计。
USTLOW_SAMPLE 配置参数 当您以 LOW 模式运行 UPDATE STATISTICS 语句时,启用或者禁用基于抽样生成索引统计。

扫描配置参数

配置参数参考
BATCHEDREAD_TABLE 配置参数 在压缩表上,在行大于一页的表上,以及 VARCHAR, LVARCHAR 和 NVARCHAR 数据表上启用或禁用轻扫描。
BATCHEDREAD_INDEX 配置参数 启用优化器来执行索引的轻扫描。

SQL 跟踪配置参数

配置参数参考
EXPLAIN_STAT 配置参数 启用或禁用在说明输出文件中包括查询统计。
SQLTRACE 配置参数 配置 SQL 跟踪。

安全配置参数

配置参数参考
DBCREATE_PERMISSION 配置参数 指定可以创建数据库的用户。
DB_LIBRARY_PATH 配置参数 指定 UDR 或 UDT 共享库的位置。
IFX_EXTEND_ROLE 配置参数 控制如何指定哪些用户可以注册外部例程。
SECURITY_LOCALCONNECTION 配置参数 数据库服务器是否检管理员模式查本地连接的安全。
UNSECURE_ONSTAT 配置参数 非 DBSA 用户是否可以运行 onstat 命令。
ADMIN_USER_MODE_WITH_DBSA 配置参数除了用户 gbasedbt 和 DBSA 组成员之外,罗列那些可以以管理员模式连接的用户。
1.用逗号分隔用户名,比如:Karin,Sarah,Andrew,字符串最长 127 字节。
2.编辑 onconfig 文件后重启或者通过运行 onmode -wf 、onmode -wm命令使其生效。
3.必须将 ADMIN_USER_MODE_WITH_DBSA 配置参数设置为 1。
4.在数据库运行时,使用 onmode -j -U 命令来允许一个或多个用户在管理员模式下访问数据库服务器。
SSL_KEYSTORE_LABEL 配置参数 SSL 标签。
TLS_VERSION 配置参数 指定网络连接的传输层安全(TLS)版本。

基于标签的访问控制配置参数

使用下列配置参数来配置基于标签的访问控制(LBAC)高速缓存。在 GBase 8s 安全指南 中记录这些配置参数。

配置参数参考
PLCY_POOLSIZE 配置参数 在 LBAC 安全信息高速缓存中的散列存储区数目。
PLCY_HASHSIZE 配置参数 在 LBAC 安全信息高速缓存的每一个散列存储区中的最大条目数。
USRC_POOLSIZE 配置参数 在 LBAC 凭证内存高速缓存中的散列存储区数目。
USRC_HASHSIZE 配置参数 在 LBAC 凭证内存高速缓存的每一个散列存储区中的最大条目数。

内建字符数据类型配置参数

配置参数参考
SQL_LOGICAL_CHAR 配置参数 启用或禁用在内建字符数据类型声明中的大小规范的扩展。

顺序高速缓存配置参数

配置参数参考
SEQ_CACHE_SIZE 配置参数 指定那些在顺序高速缓存中可以有预分配值的顺序对象的最大数目。

高可用性和 Enterprise Replication 安全配置参数

配置参数参考
ENCRYPT_HDR 配置参数 启用或禁用 HAC 加密。
ENCRYPT_SMX 配置参数 SDS 或 RSS 服务器的加密级别。
ENCRYPT_CDR 配置参数Enterprise Replication 的加密级别。
ENCRYPT_CIPHERS 配置参数 罗列加密算法和模式。
ENCRYPT_MAC 配置参数 消息认证代码(MAC)的级别。
ENCRYPT_MACFILE 配置参数 MAC 密钥文件的路径。
ENCRYPT_SWITCH 配置参数 切换加密算法和密钥的频率。

Enterprise Replication 配置参数

使用下列配置参数来配置 Enterprise Replication (ER)。在《GBase 8s Enterprise Replication 指南》中记录这些配置参数。

配置参数参考
CDR_EVALTHREADS 配置参数求值程序线程的数目。
CDR_DSLOCKWAIT 配置参数数据同步线程等待数据库锁的时间量。
CDR_QUEUEMEM 配置参数发送和接收队列的最大内存量。
CDR_NIFCOMPRESS 配置参数网络接口压缩级别。
CDR_SERIAL 配置参数serial 列的增量大小和起始值。
CDR_DBSPACE 配置参数syscdr 数据库的 dbspace 名称。
CDR_QDATA_SBSPACE 配置参数GBase 8s spooled 事务的 sbspace 名。
CDR_SUPPRESS_ATSRISWARN 配置参数在 ATS 和 RIS 文件中不显示数据同步报警和错误。
CDR_DELAY_PURGE_DTC 配置参数保留删除表的时间量。
CDR_LOG_LAG_ACTION 配置参数在数据库服务器即将改写逻辑日志,而 Enterprise Replication 尚未处理该日志的情况下,采取的行动。
CDR_LOG_STAGING_MAXSIZE 配置参数Enterprise Replication 用于 GBase 8s stage 日志文件的最大空间量。
CDR_MAX_DYNAMIC_LOGS 配置参数Enterprise Replication 可以在一个会话中发出的动态日志请求的最大数。
GRIDCOPY_DIR 配置参数ifx_grid_copy 过程使用的缺省目录。
CDR_TSINSTANCEID 配置参数复制的时间序列实例的唯一标识符。
CDR_MAX_FLUSH_SIZE 配置参数在日志清空到磁盘之前应用的最大事务数。
CDR_AUTO_DISCOVER 配置参数允许通过 cdr autoconfig serv、安装助手或 ifxclone 命令自动配置 Enterprise Replication。
CDR_MEM 配置参数指定 Enterprise Replication 的内存池分配方法。

高可用性集群配置参数

配置参数参考
DRAUTO 配置参数 控制主服务器的自动故障转移。
DRINTERVAL 配置参数 缓冲区清空的最大间隔。
HDR_TXN_SCOPE 配置参数 在客户端应用程序、主服务器和 HAC 辅助服务器之间调整事务同步。
DRTIMEOUT 配置参数 网络超时期间。
DRLOSTFOUND 配置参数 HAC 失而复得文件的路径。
DRIDXAUTO 配置参数 启用或禁用自动索引修理。
HA_ALIAS 配置参数 高可用性集群的服务器别名。
HA_FOC_ORDER 配置参数 定义连接管理器使用的单个故障转移规则。
LOG_INDEX_BUILDS 配置参数 启用或禁用索引页日志。
SDS_ENABLE 配置参数 启用或禁用 SSC 辅助服务器。
SDS_TIMEOUT 配置参数 主服务器等待 SSC 辅助服务器响应的时间。
SDS_TEMPDBS 配置参数 SD 辅助服务器使用的临时 dbspace。
SDS_ALTERNATE 配置参数 在高可用性集群中的主服务器和 SD 辅助服务器之间通信的替代方法。
SDS_PAGING 配置参数 GBase 8s SD 辅助 paging 文件的路径。
SDS_LOGCHECK 配置参数 主服务器是否产生日志活动,以及允许或防止主服务器的故障转移。
UPDATABLE_SECONDARY 配置参数 辅助服务器是否接受客户端的更新、插入或删除操作。
FAILOVER_CALLBACK 配置参数 当辅助服务器引起向标准服务器或主服务器的切换时调用的程序。
TEMPTAB_NOLOG 配置参数 临时表的缺省日志模式。
DELAY_APPLY 配置参数 在 RHAC 辅助服务器上应用事务的延迟时间。
STOP_APPLY 配置参数 在 RHAC 辅助服务器上停止应用事务。
LOG_STAGING_DIR 配置参数 stage 日志文件的目录。
RSS_FLOW_CONTROL 配置参数 启用 RHAC 辅助服务器的流控制。
FAILOVER_TX_TIMEOUT 配置参数 启用或禁用故障转移期间的事务存活行为。
ENABLE_SNAPSHOT_COPY 配置参数 能否通过 ifxclone 命令克隆服务器实例。
SMX_COMPRESS 配置参数 在从源数据库服务器向目标数据库服务器发送数据时,数据库服务器使用的压缩级别。
SMX_PING_INTERVAL 配置参数 超时间隔的秒数。
SMX_PING_RETRY 配置参数 在辅助服务器关闭到主服务器的 SMX 连接之前的超时间隔数。
CLUSTER_TXN_SCOPE 配置参数 控制事务提交可以返回到客户端应用程序的时间。

逻辑恢复配置参数

配置参数参考
ON_RECVRY_THREADS 配置参数 在热恢复期间并行运行的逻辑恢复线程数。
OFF_RECVRY_THREADS 配置参数 在冷恢复中为了快速恢复使用的逻辑恢复线程数。

诊断转储配置参数

配置参数参考
DUMPDIR 配置参数 断言失败诊断文件的位置。
DUMPSHMEM 配置参数(UNIX) 控制共享内存转储。
DUMPGCORE 配置参数(UNIX) 启用或禁用数据库服务器是否把核心转出到 gcore 文件。
DUMPCORE 配置参数(UNIX) 启用或禁用是否在断言失败之后数据库服务器转储核心。
DUMPCNT 配置参数(UNIX) 一个会话的共享内存转储最大数目。

报警程序配置参数

配置参数参考
ALARMPROGRAM 配置参数显示事件报警的报警程序。使用 ALARMPROGRAM 配置参数来指定 alarmprogram 文件的完整路径名,该文件处理事件报警并控制逻辑日志备份。
1.初始化参数
UNIX™:$GBASEDBTDIR/etc/alarmprogram.sh
2.缺省值
在 UNIX 上:$GBASEDBTDIR/etc/no_log.sh
3.onconfig 文件并重启数据库或者onmode -wf、onmode -wm生效
4.设置 ALRM_ALL_EVENTS 配置参数,指定是对于在 MSGPATH 中保存日志的全部事件还是只对于特定的值得通知的事件(事件严重性大于 1)来运行 ALARMPROGRAM 配置参数。如果不存在 ALARMPROGRAM 配置参数指定的脚本,则由缺省报警处理器、 no_log.sh 或 no_log.bat 取而代之。 在正确的脚本就位后,更新 ALARMPROGRAM 配置参数的值来指定该脚本。
5.ALARMPROGRAM 设置为 alarmprogram.sh。
ALRM_ALL_EVENTS 配置参数使用 ALRM_ALL_EVENTS 配置参数来对于在 MSGPATH 配置参数中生成日志的所有事件或只对于值得通知的事件,指定 ALARMPROGRAM 配置参数是否运行。
1 . 0 表示只对于值得通知的事件。默认值。
2.1 表示该参数触发 ALARMPROGRAM 配置参数,且 ALRM_ALL_EVENTS 配置参数显示所有事件报警。
3.编辑 onconfig 文件并重启数据库服务器之后生效。
STORAGE_FULL_ALARM 配置参数 当存储空间变满或者在页或 extent 之外运行分区时,产生消息和时间的频率。
SYSALARMPROGRAM 配置参数 断言失败之后触发的系统报警程序。

技术支持配置参数

配置参数参考
RAS_PLOG_SPEED为支持保留。
RAS_LLOG_SPEED为支持保留。

字符处理配置参数

如果字符是语言环境有效的,使用下列配置参数来控制是否检查 GBase 8s 。

配置参数参考
EILSEQ_COMPAT_MODE 配置参数 启用或禁用字符有效性检查。

统计配置参数

使用下列配置参数来控制队列和等待统计的收集。

配置参数参考
QSTATS 配置参数 启用或禁用收集队列统计。
WSTATS 配置参数 启用或禁用收集等待统计。

用户映射配置参数

使用该配置参数来控制用户映射。

配置参数参考
USERMAPPING 配置参数(UNIX,Linux)映射用户能否连接到 GBase 8s ,如果可以,映射能否有管理权限。

存储提供配置参数

使用下列配置参数来控制信息,在现有的存储空间(dbspace、临时 dbspace、sbspace、临时 sbspace 或 blobspace)中需要更多空间时,该信息使服务器能够动态地扩展或添加一个 chunk。

配置参数参考
SP_AUTOEXPAND 配置参数 在一个存储空间中启用或禁用 chunk 的自动创建或扩展。
SP_THRESHOLD 配置参数 定义在一个存储空间中可以存在的最小可用 KB 数。
SP_WAITTIME 配置参数 指定一个线程在返回一个“空间不足”错误之前等待存储池扩展的最大秒数。

数据库对象的自动定位

配置参数参考
AUTOLOCATE 配置参数 启用数据库和表的自动定位以及表的自动分片存储。

缺省转义字符配置参数

配置参数参考
DEFAULTESCCHAR 配置参数 指定一个缺省转义字符。

非 root 用户服务器安装配置参数

配置参数参考
REMOTE_SERVER_CFG 配置参数 指定罗列远程主机的文件名,数据库服务器计算机信任这些主机。
REMOTE_USERS_CFG 配置参数 指定罗列可信任用户名的文件名,这些用户在远程主机上。
S6_USE_REMOTE_SERVER_CFG 配置参数 指定在可信任网络环境中的用于认证安全服务器连接的文件。

低内存配置参数

配置参数参考
LOW_MEMORY_RESERVE 配置参数 保留特定数量的内存,以供需要执行关键活动并且服务器可用内存有限时使用。
LOW_MEMORY_MGR 配置参数 更改达到内存限制时服务器的缺省行为。

连接参数

配置参数参考
GBASEDBTCONRETRY 配置参数指定在初始连接尝试失败后数据库服务器可以进行的连接尝试次数。通过 GBASEDBTCONTIME 配置参数,指定 CONNECT 语句试图连接到数据库服务器的频率。
GBASEDBTCONTIME 配置参数指定 CONNECT 语句尝试建立到数据库服务器连接的秒数。通过 GBASEDBTRETRY 配置参数,指定 CONNECT 试图连接到数据库服务器的频率。

Java™ 配置参数

使用下列配置参数来配置 Java 虚拟处理器。在《 J/Foundation 开发者指南》中记录这些配置参数。

配置参数参考
VPCLASS配置一个 Java 虚拟处理器类。
JVPPROPFILEJava VP 特性文件。
JVPLOGFILEJava VP 日志文件。
JVPARGS配置 Java VM。
JVPCLASSPATHJava 类路径。

缓冲池和 LRU 调整配置参数

配置参数参考
BUFFERPOOL 配置参数 配置缓冲池。

附加参数

有些配置参数不在 onconfig.std 文件中。如有必要,您可以将这些参数添加到 onconfig 文件中。

配置参数参考
AUTO_TUNE_SERVER_SIZE 配置参数根据预期的用户数,设置数据库服务器的大小。
如果您在安装期间创建服务器,这个参数设置在 onconfig 文件中。
AUTO_LLOG 配置参数 在指定的 dbspace 中自动地添加逻辑日志,来提高性能并限定逻辑日志文件总计的大小。
如果您在安装期间创建服务器,该参数设置在 onconfig 文件中。
CDR_APPLY 配置参数指定数据同步线程的最小数目和最大数目。
CDR_ENV 配置参数设置一些特定的 Enterprise Replication 环境变量。
DISABLE_B162428_XA_FIX 配置参数 指定在回滚操作之后是否释放全局事务。
DRDA_COMMBUFFSIZE 配置参数 指定 DRDA 通信缓冲区的大小。
IFX_XA_UNIQUEXID_IN_DATABASE 配置参数 在同一个数据库服务器实例中,启用事务管理器来使用相同的 XID 表达不同数据库上的全局事务。
LIMITNUMSESSIONS 配置参数 指定可以连接到数据库服务器的最大会话数。
MSG_DATE 配置参数 在打印到 online 日志的消息开始出插入一个日期戳记。
NET_IO_TIMEOUT_ALARM 配置参数 如果网络写操作受阻 30 分钟或更长时间,则发送通知。
PN_STAGEBLOB_THRESHOLD 配置参数 为轮转法分片中的 BYTE 和 TEXT 数据保留空间。
SESSION_LIMIT_LOCKS 配置参数 在单一会话中允许那些没有管理权限的用户使用锁的最大数目。

参数补充说明

AUTO_AIOVPS 配置参数

当数据库服务器检测到现有 AIO VP 的性能跟不上 I/O 工作负载时,AUTO_AIOVPS 配置参数使得数据库服务器能自动地增加异步 I/O 虚拟处理器(AIO VP)和页清除程序线程的数目。

onconfig.std 值

未设置。如果 AUTO_TUNE 配置参数设置为 1,则自动地增加 AIO VP 和页清除程序线程。

0 = 关

1 = 开

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 重置内存中的该值时。

如果在当前 onconfig 文件中未设置一个 AUTO_AIOVPS 值,您编辑 AUTO_TUNE 配置参数并重启数据库服务器。

用法

VPCLASS aio 配置参数控制 AIO VP 的数目,如果在 onconfig 文件中未设置 VP aio 参数,则当启用 AUTO_AIOVPS 时,数据库服务器启动的 AIO VP 初始数目等于 AIO chunk 的数目。 如果未设置 VP aio,则数据库服务器最多可以启动 128 个 AIO VP。

AUTO_CKPTS 配置参数

AUTO_CKPTS 配置参数允许服务器更频繁地触发检查点来避免事务阻塞。

onconfig.std 值

未设置。如果 AUTO_TUNE 配置参数设置为 1,则启用自动检查点。

0 = 关

1 = 开

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 在 onconfig 文件里动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

如果在当前 onconfig 中未设置 AUTO_CKPTS 值,编辑 AUTO_TUNE 配置参数并重启数据库服务器。

AUTO_LLOG 配置参数

使用 AUTO_LLOG 配置参数来在特定的 dbspace 中自动地添加逻辑日志,以提高性能。

onconfig.std 值

不在 onconfig.std 文件中。

如果您在安装期间创建服务器的缺省值

AUTO_LLOG 1,llog,max_size

max_size 值依赖于 AUTO_TUNE_SERVER_SIZE 配置参数的值。

0 = 缺省。禁用。不自动地添加逻辑日志来提高性能。

1,dbspace_name,max_size

  • 1 = 启用。在需要提高性能时自动地添加逻辑日志。
  • dbspace_name = 将逻辑日志文件添加到的那个 dbspace 的名称。该 dbspace 必须有操作系统的缺省页大小。
  • max_size = 可选。缺省是 2048000 KB(2 GB)。所有逻辑日志文件的最大 KB 数,包括存储在 dbspace dbspace_name 的任何逻辑日志文件。当大小达到最大时,数据库不再添加逻辑日志文件来提高性能。如果未指定 max_size,AUTO_TUNE_SERVER_SIZE 配置参数的设置影响大小的最大值。

分隔符

以逗号分隔这些区域。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

如果您在安装期间创建了一个服务器,则自动地启用 AUTO_LLOG 配置参数。为逻辑日志创建一个名为 llog 的 dbspace。安装程序根据 AUTO_TUNE_SERVER_SIZE 配置参数值来设置初始大小和 dbspace 的 max_size 选项值。您可以通过重置 AUTO_LLOG 配置参数值来更改 max_size 选项。

如果您在安装期间未创建服务器,则当数据库服务器检测到添加逻辑日志文件可提高性能时,您可以启用 AUTO_LLOG 配置参数来自动地添加逻辑日志文件。为了获得理想的性能,从 root dbspace 和物理日志在单独一个磁盘上选择一个 dbspace。

当启用 AUTO_LLOG 配置参数时,一旦逻辑日志不足导致过高的检查点百分比、阻塞检查点或长检查点,数据库服务器会添加逻辑日志。

当逻辑日志文件大小达到最大时,不再添加逻辑日志文件来提高性能。然而,如果启用 DYNAMIC_LOGS 配置参数,则会添加逻辑日志以防事务阻塞。DYNAMIC_LOGS 和 AUTO_LLOG 配置参数的设置不相互作用。类似地,您可继续手工添加逻辑日志文件。

如果 max_size 域值大于指定 dbspace 的大小,则要确保您的存储池有可用空间。

示例

下列设置使得能自动添加逻辑日志文件,直到逻辑日志文件大小为 204800 KB 并将逻辑日志文件的 dbspace 设置为 llog

AUTO_LLOG 1,llog,204800

AUTO_TUNE_SERVER_SIZE 配置参数

使用 AUTO_TUNE_SERVER_SIZE 配置参数来根据预期的并发用户数设置要分配的内存和存储空间大小。

onconfig.std 值

不在 onconfig.std 文件中。

缺省值

未设置。

在安装期间创建服务器的值

依赖于您在安装程序中指定的用户数。

SMALL = 1 - 100 用户

MEDIUM = 101 - 500 用户

LARGE = 501 - 1000 用户

XLARGE = 多于 1000 用户

生效

如果您在安装期间创建一个服务器。

编辑 onconfig 文件并首次重启数据库服务器之后。

用法

如果您在安装期间创建一个服务器,则指定数据库服务器的预期用户数。将 AUTO_TUNE_SERVER_SIZE 配置参数设置成相应的大小,会影响下列特性的大小:

  • 缓冲池的大小。
  • 在数据库停止为了提高性能而自动地添加逻辑日志之前,逻辑日志文件大小的最大值。
  • 下列已创建的存储空间的初始大小,这些存储空间是在安装期间自动创建的:
    • 物理日志的可扩展 plogspace
    • 逻辑日志的 dbspace
    • 数据库和表的 dbspace
    • 临时 dbspace
    • sbspace
    • 临时 sbspace

下表说明 AUTO_TUNE_SERVER_SIZE 配置参数值如何影响大小。

缓冲池(BUFFERPOOL)大小的最大值自动地创建的存储空间的初始大小逻辑日志文件(AUTO_LLOG)大小的最大值
SMALL可用共享内存的 10%50 MB200 MB
MEDIUM20%100 MB500 MB
LARGE33%200 MB1 GB
XLARGE50%500 MB2 GB

如果您在安装期间未创建一个数据库,或在初始化服务器后首次更改 AUTO_TUNE_SERVER_SIZE 配置参数的值,则新的值仅会影响下列特性的大小:

  • 缓冲池的大小,如果 BUFFERPOOL 配置参数的设置包括 memory='auto' 选项。
  • 在服务器停止为了提高性能而自动地添加逻辑日志之前,所有逻辑日志大小的最大值。

AUTO_LRU_TUNING 配置参数

使用 AUTO_LRU_TUNING 配置参数来启用自动 LRU 调整,自动地为页替换维护足够的干净页。

onconfig.std 值

未设置。如果设置 AUTO_TUNE 配置参数为 1,则启动自动 LRU 调整。

0 = 关

1 = 开

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中自动地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

如果在当前的 onconfig 文件中未设置 AUTO_LRU_TUNING 值,编辑 AUTO_TUNE 配置参数并重启数据库服务器。

用法

自动 LRU 调整更改影响所有缓冲池并调整 BUFFERPOOL 配置参数中 lru_min_dirty 和 lru_max_dirty 值。

AUTO_READAHEAD 配置参数

使用 AUTO_READAHEAD 配置参数来更改自动预读模式或禁用一个查询的自动预读操作。

onconfig.std 值

未设置。如果 AUTO_TUNE 配置参数设置为 1,则在标准模式下自动地执行预读。

一个 0 - 2 的整数指定模式,可选地后跟一个逗号和一个整数,指定自动地请求预读的页数。例如,值 1,4096 在标准模式下启用自动预读,每次 4096 页。

0 = 禁用自动预读请求。

1 = 在标准模式下启用自动预读请求。只有当查询等待 I/O 时,数据库服务器才自动地处理预读请求。

2 = 在 GBase 8s 积极(aggressive)模式下启用自动预读请求。在查询开始时数据库服务器自动地处理预读请求,并在查询期间持续进行。

number_of_pages = 4-4096,指出自动地请求预读的页数。缺省是 128 页。

分隔符

用逗号分隔模式和页数。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 重置内存中的该值时。

如果在当前 onconfig 文件中未设置 AUTO_READAHEAD 值,编辑 AUTO_TUNE 配置参数并重启数据库服务器。

用法

当数据库服务器检测到查询遇到 I/O 时,自动预读操作通过发出异步页请求帮助提高查询性能。通过将查询处理与从磁盘检索数据并放入缓冲池所需的处理相叠加,异步页请求可提高查询性能。

通常,缺省值 1 适用于大多数生产环境。

在任何特定的环境中,执行 GBase 8s 积极(aggressive)预读取操作都不会明显优于标准预读操作。不过 GBase 8s 积极(aggressive)预读略微有效些:

  • 对于一些读取少量数据的扫描
  • 有些情况下,您会在关预读与开预读之间切换,对于小扫描关预读,对于较大扫描开预读。
  • 对于只看少量行的扫描,因为服务器立即执行预读操作而不是等待扫描遇到 I/O。

因为扫描碰到高速缓存数据的 GBase 8s pocket,有些扫描可能会关闭预读操作再开启,GBase 8s 积极(aggressive)预读操作不关闭预读操作。

只有在测试了两种设置并知道 GBase 8s 积极(aggressive)预读操作更有效的情况下,才使用 GBase 8s 积极(aggressive)预读操作。如果不肯定积极预读操作更有效的话,则不要使用。

您可使用 SQL 的 SET ENVIRONMENT 语句的 AUTO_READAHEAD 环境选项来启用或禁用会话的 AUTO_READAHEAD 配置参数值。

预读设置的优先次序如下:

  1. 会话的 SET ENVIRONMENT AUTO_READAHEAD 语句。
  2. AUTO_READAHEAD 配置参数值为 1 或 2。
  3. 如果在 onconfig 文件中未出现 AUTO_READAHEAD 配置参数值,当服务器完成查询时,服务器在 128 数据页上执行预读(等同于 AUTO_READAHEAD 模式设置为 1)。

AUTO_REPREPARE 配置参数

在 SPL 例程引用表模式之后,或引用表模式的已准备就绪的对象更改之后,AUTO_REPREPARE 配置参数控制数据库服务器是否自动地重新优化 SPL 例程和重新准备已准备就绪的对象。

onconfig.std 值

未设置。如果 AUTO_TUNE 配置参数设置为 1,则自动地重新优化 SPL 例程,并自动地重新准备已准备就绪的对象。

0 = 在修改一个直接引用表或间接引用表的模式之后,禁用已准备就绪对象的自动重新准备。还会在修改间接引用表的模式之后禁用 SPL 例程的自动重新优化。

1 = 启用自动重新准备和自动重新优化。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

如果在当前 onconfig 文件中未设置 AUTO_REPREPARE 值,编辑 AUTO_TUNE 配置参数并重启数据库服务器。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

通过启用 AUTO_REPREPARE 配置参数,您可以避免许多 -710 错误,并减少重新准备和重新优化操作的数目。修改 SPL 例程中动态 SQL 语句或 DML 语句引用的表模式之后,您必须明确地执行这些重新准备和重新优化操作。

例如,某些 DDL 语句修改表模式,诸如 CREATE INDEX、DROP INDEX、DROP COLUMN 和 RENAME COLUMN。如果在运行这些 DDL 语句时禁用了 AUTO_REPREPARE 配置参数,则用户会收到 -710 错误。 这些错误还会发生,如果您下次运行:

  • 直接引用或间接引用被 DDL 语句修改的表的 SPL 例程。
  • 引用被 DDL 语句修改的表的已准备就绪对象。

限制:

启用 AUTO_REPREPARE 可能不会影响已准备就绪的语句或引用表的 SPL 例程,DDL 操作改变这些表中的列数,或者一列的数据类型。这些模式更改之后,对于引用模式已经更改的表的 SPL 例程,您往往一定会重新发出 DESCRIBE 语句、PREPARE 语句(对于已准备就绪的对象)和 UPDATE STATISTICS 语句(对于例程相关的游标)。否则,不管 AUTO_REPREPARE 的设置,数据库服务器都会发出 SQL 错误 -710。

AUTO_STAT_MODE 配置参数

使用 AUTO_STAT_MODE 配置参数来启用或禁用有选择地更新模式,仅更新 UPDATE STATISTICS 操作中分布的过时的或丢失的数据,而不是更新分布的所有数据统计。

onconfig.std 值

未设置。如果 AUTO_TUNE 配置参数设置为1,则有选择地更新统计。

0 = 禁用有选择的 UPDATE STATISTICS 操作。

1 = 启用有选择的 UPDATE STATISTICS 操作。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

如果在当前 onconfig 文件中未设置 AUTO_STAT_MODE 值,且设置 AUTO_TUNE 配置参数。

用法

当 AUTO_STAT_MODE 配置参数或 AUTO_STAT_MODE 会话环境变量启用有选择地更新自动模式时,仅更新 UPDATE STATISTICS 操作中分布的过时的或丢失的数据, 数据库服务器使用 STATCHANGE 配置参数值来确定需要更新的表或分片分布统计。

AUTO_TUNE 配置参数

使用 AUTO_TUNE 配置参数来启用或禁用所有自动调整配置参数,这些参数的值不出现在 onconfig 文件中。

onconfig.std 值

AUTO_TUNE 1

0 = 禁用

1 = 启用

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

如果在当前 onconfig 文件中未设置单独的自动调整配置参数,则数据库服务器为那个配置参数使用在 AUTO_TUNE 配置参数中指定的值。

自动调整配置参数是:

  • AUTO_AIOVPS
  • AUTO_CKPTS
  • AUTO_LRU_TUNING
  • AUTO_READAHEAD
  • AUTO_REPREPARE
  • AUTO_STAT_MODE

如果在当前 onconfig 文件里设置自动调整配置参数,则数据库服务器使用 onconfig 文件中的值。AUTO_TUNE 配置参数不更改那个值。

onconfig 文件在 %GBASEDBTDIR%\conf 或 $GBASEDBTDIR%/conf 目录中。

示例

示例1:假定有些自动调整配置参数未设置,其他配置参数有值:

AUTO_LRU_TUNING (值未设置)

AUTO_STAT_MODE (值未设置)

AUTO_LRU_CKPTS (值未设置)

AUTO_AIOVPS 0

AUTO_REPREPARE 1

AUTO_READAHEAD 0

如果您设置 AUTO_TUNE 配置参数为 1,数据库服务器自动地更改未设置为 1 的那些值。以前设置的值保持不变。现在自动调整配置参数值如下:

AUTO_LRU_TUNING 1

AUTO_STAT_MODE 1

AUTO_CKPTS 1

AUTO_AIOVPS 0

AUTO_REPREPARE 1

AUTO_READAHEAD 0

示例2:假定所有自动调整配置参数都设置如下值:

AUTO_LRU_TUNING 1

AUTO_STAT_MODE 1

AUTO_LRU_CKPTS 1

AUTO_AIOVPS 0

AUTO_REPREPARE 1

AUTO_READAHEAD 0

在这种情况下,AUTO_TUNE 配置不更改任何值。

示例3:假定您从 onconfig 文件移除了自动调整配置参数,但现在想使用它们。您可设置 AUTO_TUNE 为 1 来重新启用所有自动调整配置参数。

AUTOLOCATE 配置参数

使用 AUTOLOCATE 配置参数来启用数据库、索引和表的自动定位,并启用自动表分片。

onconfig.std 和缺省值

AUTOLOCATE 0

0 = 禁用自动定位和分片。

1 - 32 = 启用自动定位和分片。数值表明初始分配给标的轮转法分片的多少。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置内存中的该值时。

当您通过运行 onmode -wm 命令动态地重置内存中的该值时。

用法

使用 AUTOLOCATE 配置参数来控制数据库服务器是否控制新数据库、索引和表的定位,是否控制那些表的分片。如果您设定 AUTOLOCATE 配置参数为一个正整数,则数据库服务器执行下列任务:

  • 将新数据库存储在您未在优化 dbspace 中而是在 root dbspace 中指定的位置。缺省情况下,除了那些专用于 tenant 数据库的 dbspace 之外,所有 dbspace 都可用。然而,您可控制可用 dbspace 列表。
  • 通过轮转法分片新表,分片数目等于 AUTOLOCATE 配置参数的值。
  • 随着表增长,添加更多表分片。

如果您设置 AUTOLOCATE 配置参数的值为 0,则缺省地在 root dbspace 中创建新数据库。新表和索引创建在数据库所在的同一个 dbspace 中,新表和索引不分片。

自动定位不适用于 tenant 数据库或 tenant 数据库内的表、分片和索引。

通过在 CREATE DATABASE 语句中以 IN 子句指定一个 dbspace,您可覆盖数据库的自动定位。类似地,通过在 CREATE TABLE 语句中以 IN 子句指定一个 dbspace 或以 FRAGMENT BY 子句指定一个分片策略,您可覆盖表的自动定位和分片。

当启用这个配置参数时,您可使用 admin() 或 task() 函数的 autolocate database 参数来:

  • 管理自动定位和分片的 dbspace 列表。可用 dbspace 列表在 sysautolocate 系统目录表中。
  • 对于指定的数据库禁用自动定位和分片。

您可使用 SQL 的 SET ENVIRONMENT 语句的 AUTOLOCATE 环境选项来启用或禁用会话的 AUTOLOCATE 配置参数值。

BATCHEDREAD_INDEX 配置参数

使用 BATCHEDREAD_INDEX 配置参数来启用优化器执行索引的轻扫描。这会减少读缓冲区的次数,从而提高性能。

onconfig.std 值

BATCHEDREAD_INDEX 1

0 = 禁用索引的轻扫描。

1 = 启用索引的轻扫描。

生效

在您编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

BATCHEDREAD_TABLE 配置参数

使用 BATCHEDREAD_TABLE 配置参数来启用或禁用在压缩表、行大于一页的表以及 VARCHAR、LVARCHAR 和 NVARCHAR 数据表上的轻扫描。

onconfig.std 值

BATCHEDREAD_TABLE 1

0 = 禁用可变记录长度表上的轻扫描。

1 = 启用可变记录长度表上的轻扫描。

此处将压缩表和行大于一页的表视同可变记录长度。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

除了压缩表、行大于一页的表和可变记录长度(比如 VARCHAR、LVARCHAR 和 NVARCHAR 列)的表之外,BATCHEDREAD_TABLE 的设置不影响查询优化器是否选择一个包括轻扫描的查询执行路径。

数据库服务器不在索引上、在系统表上执行轻扫描,对于行包括有下列这些存储属性中任何一种的大对象行的用户表,也不执行轻扫描:

  • blobspace
  • smartblob 空间
  • 分区 blob。

您可使用 SET ENVIRONMENT 语句的 IFX_BATCHEDREAD_TABLE 环境选项来覆盖当前会话的 BATCHEDREAD_TABLE 配置参数的值。

BLOCKTIMEOUT 配置参数

使用 BLOCKTIMEOUT 配置参数来指定线程或数据库服务器挂起的秒数。超时之后,线程或数据库服务器或继续处理或失败。

onconfig.std 值

BLOCKTIMEOUT 3600

单位

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

BTSCANNER 配置参数

使用 BTSCANNER 配置参数来设置 B-tree 扫描程序。当从一个带索引的表删除行时,B-tree 扫描程序改善事务处理。B-tree 扫描程序线程移除被删除的索引条目并重新平衡索引节点。 B-tree 扫描程序自动地确定删除那个索引项。

onconfig.std 值

BTSCANNER num=1,threshold=5000,rangesize=-1,alice=6,compression=default

分隔符

每个域之间使用逗号。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -C 命令在 onconfig 文件中动态地重置该值时。

运行带有 onmode 和 C 参数的 SQL 管理 API task() 或 admin() 函数之后。

用法

缺省情况下,BTSCANNER 配置参数启动一个索引清除程序线程,优先清除有超过 5000 个被删除项的索引,自动地调整索引清除模式,并在一个对适度增长和更改的索引适合的级别上合并索引页。

BTSCANNER 配置参数语法

numthreads 值是一个正整数,设置在系统启动时启动的 B-tree 扫描程序线程数。缺省为 1。
thresholdthresh_size 值是优先清除的索引必须达到的被删除项的最小数。缺省是 5000。
rangesize指定是否允许小索引的叶扫描:
● -1 = 关。对所有索引清除使用 alice 模式。
● 100 = 通过叶扫描模式扫描小索引。
alicealice*mode 值控制索引清除:
● 0 = 关。
● 1 = 精确地使用内存 8 字节。
● 2 = 精确地使用内存 16 字节。
● 3 - 12 = 缺省是 6。设置用于索引清除的内存初始量。接下去,B-tree 扫描程序根据以前清除操作的效率自动地调整模式。
compression对两个部分地使用的索引页的合并级别:
● low = 如果您预期索引随着频繁的分裂会迅速地增长,则使用。
● med 或 default = 缺省。如果索引适度增长或更改,则使用。
● high = 如果索引的九成或更多是只读,或者索引没有许多更改,则使用。

清除高于阈值的所有索引之后,将低于阈值的索引添加到待清除索引的优先列表。频繁更新的系统应以 10 倍或 100 倍为系数增大这个值。

BUFFERPOOL 配置参数

使用 BUFFERPOOL 配置参数来配置在共享内存中高速缓存的数据页数,在检查点之间以何种频率将那些页清空到磁盘。对于许多系统而言,BUFFERPOOL 配置参数的缺省值足够。然而,您可更改这些值来调整系统性能。

onconfig.std 值

2 KB 缺省页大小的操作系统:

BUFFERPOOL default,buffers=10000,lrus=8,lru_min_dirty=50.00,lru_max_dirty=60.50
BUFFERPOOL size=2k,buffers=50000,lrus=8,lru_min_dirty=50,lru_max_dirty=60

4 KB 缺省页大小的操作系统:

BUFFERPOOL default,buffers=10000,lrus=8,lru_min_dirty=50.00,lru_max_dirty=60.50
BUFFERPOOL size=4k,buffers=10000,lrus=8,lru_min_dirty=50,lru_max_dirty=60

如果您在安装期间创建了服务器,则缺省值

BUFFERPOOL default,memory='auto'
BUFFERPOOL size=page_size,memory=memory_size

page_size 值是缺省页大小。缓冲池的最初大小是 32 MB。作为 auto 或 memory_size 值,指定 memory 域的值作为大小的最大值,这依赖于 AUTO_TUNE_SERVER_SIZE 配置参数的值。

分隔符

用逗号分隔域。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onparams -b 命令在 onconfig 文件中动态地添加一个条目时。

当您通过运行 onspaces -c -d 命令通过添加一个页大小不同的 dbspace 来动态地添加一个条目时。

通过运行带有 add bufferpool 参数的 SQL 管理 API task() 或 admin() 函数,在 onconfig 文件中动态地添加一个条目之后。

用法

高速缓存数据页保存在缓冲区中。缓冲区包含在缓冲池中。用作存储空间的每个页大小需要一个缓冲池。当数据库服务器需要将新数据页移入共享内存时,最近最少使用的数据页移出内存。 BUFFERPOOL 配置参数控制缓冲池的大小和数据页清空到磁盘的频率。

如果您在安装期间创建了一个服务器,则在 onconfig.std 文件或 onconfig 文件中,BUFFERPOOL 配置参数有两个条目:

  • 第一个条目为一个非缺省页大小的 dbspace 指定缓冲池的缺省值。
  • 第二个条目根据系统的缺省页大小指定缓冲池的缺省值。

包括 size 域的 BUFFERPOOL 配置参数条目优先于包含 default 域的条目。

BUFFERPOOL 配置参数有两种格式:

  • 如果您想用类似 MB 或 GB 这样的内存单位指定缓冲池的大小,则使用带有 memory 域的 BUFFERPOOL 配置参数。
  • 如果你想以页单位指定缓冲池大小或保持先前版本的设置,则使用带有 buffers 域的 BUFFERPOOL 配置参数。

您可使用其中一种格式来在需要提高性能时使得数据库服务器能扩充缓冲池的大小。

限制

您不可在 onconfig 文件中组合使用两种格式。onconfig 文件中的所有 BUFFERPOOL 配置参数条目都必须有相同的格式。否则数据库服务器不启动并显示下列错误:
ERROR: Cannot mix buffer arguments with memory arguments. (BUFFERPOOL)

BUFFERPOOL 条目中的域不是大小写敏感的,且这些域会按任何顺序罗列。

内存域的语法

缓冲区域的语法

可扩展的选项

buffers缺省是 1000。
number_buffers 值是一个大于等于 1000 的整数,指定共享内存缓冲区的最大数目。允许的缓冲区最大数目依赖于操作系统,位大小和页大小:
● UNIX™,32-bit,2 KB 页大小:1000 - 1843200
● UNIX,32-bit,4 KB 页大小:1000 - 921600
每个用户 buffers 域的值设置为最少四个缓冲区。如果您的系统要处理超过 500 个并发用户,则至少指定 2000 个缓冲区。
每个缓冲区是操作系统页的大小。因此,数据库服务器需要的缓冲区数目依赖于物理内存的数量以及应用程序使用多少内存。例如,如果 90% 的时间数据库服务器访问 15% 的应用程序数据,则分配保持 15% 数据的充足缓冲区。提高缓冲区数目可提高系统性能。缓冲区数目可显著影响性能并使用大百分比的物理内存。
cache_hit_ratio缺省是 90。
ratio 值是一个 0 - 100 的整数,表示缓冲池可以在之下扩展的阈值。当平均读高速缓存命中率保持在 ratio 之下大约五分钟时,数据库服务器扩展缓冲池。
只有设置 extendable=1时,cache_hit_ratio 域才有效。
extendable如果设置 memory 域,则缺省是 1。
如果设置 buffers 域,则缺省是 0。
数据库服务器能否扩展缓冲池的大小:
● 0 = 禁用。缓冲池不可增长。
● 1 = 启用。缓冲池可增长。
lru_max_dirty缺省是 60.00。
max_percentage 是一个 0 - 100.00 的十进制数,设置在 LRU 队列中当被修改页达到多少百分比时清除队列。
如果启用 AUTO_LRU_TUNING 配置参数,则这个值根据需要动态地更新。
lru_min_dirty缺省是 50.00。
min_percentage 值是一个 0 - 100.00 的十进制数,设置在 LRU 队列中当被修改的页达到多少百分比时不再强制清除页。
在有些环境下,页清除程序可以在超过特定百分比时继续清除。 如果启用 AUTO_LRU_TUNING 环境变量,则这个值根据需要自动地更新。
lrus缺省是 8。如果启用 MULTIPROCESSOR 配置参数,则缺省大于 8 或 CPU VP 的数目。
number*lrus 值是一个正整数,指定缓冲池中 LRU(最近最少使用)队列的数目。
取值范围依赖于操作系统的位大小:
● 32-bit 平台:8 - 128
● 64-bit 平台:8 - 512
指定 LRU 队列越多,就有越多页清除程序并行工作。然而,设置 lrus 域的值过高,可能导致过度的页清除程序活动。
lrus 域的值与 lru_min_dirty 和 lru_max_dirty 域组合在一起,控制共享内存缓冲区清空到磁盘的频率。
max_extend缺省是 8。
extends 表示数据库服务器可扩展缓冲池的最大次数。extends 的值时从 0 到段的最大数目,依赖于操作系统和位大小:
● 32 bit = 16
● UNIX 64 bit = 24
只有设置 buffers 和 extendable=1,max_extend 域才有效。
memory缺省是 auto。
max*size 表示缓冲池大小的最大值。max_size 取值范围是:
● 一个表示 32 MB - 4 TB 的整数。您可指定 KB、MB 或 GB 的大小单位。如果您不指定单位,则缺省单位是 KB。
● auto = 数据库服务器决定分配给缓冲池的共享内存的最大数量。如果设置,AUTO_TUNE_SERVER_SIZE 配置参数的值控制缓冲池大小的最大值。
next_extend缺省是 1000。
number_buffers 值是一个大于等于 1000 的整数,指定数据库服务器用于扩展缓冲池的共享内存缓冲区数目。number_buffers 的最大值受虚拟共享内存数量的限制。
每四次扩展,number_buffers 值翻倍。
只有设置 buffers 和 extendable=1,next_extend 域才有效。
sizepage*size 值指定缓冲区的页大小,以 KB 为单位。页大小必须是 2 - 16 KB 且必须是缺省页大小的倍数。例如,如果缺省页大小是 2 KB,则页大小可是 2、4、6、8、10、12、14 或 16。如果缺省页大小是 4 KB,则页大小可是 4、8、12 或 16。缺省值依赖于系统缺省页大小:
● 2 KB 缺省页大小:size=2k
● 4 KB 缺省页大小:size=4k
k 是可选的。
start_memory缺省是 32 MB。
startsize 值表示当数据库服务器启动时缓冲池的初始大小:
● 一个表示 32 MB 直到可用共享内存的最大数量的整数。您可指定大小单位 KB、MB 或 GB。如果不指定单位,则缺省单位是 KB。缓冲池的初始大小可以大于 start
size 的值,因为该大小必须是共享内存段大小的倍数。
● auto = 数据库服务器决定分配给缓冲池的共享内存的初始数量。
如果您不设置 start_memory 域,则缓冲池的初始大小等于 memory 域的值。
只有设置 memory 域,start_memory 域才有效。

默认情况下,GBase 8s 在安装时会自动根据当前内存大小设置 BUFFERPOOL 值。计算算法如下:

  • 对于 2 KB 缺省页大小的操作系统:

BUFFERPOOL = memorybase * 25000+10000

其中 memorybase =总内存大小/950000。如果计算结果 < 1,则 memorybase = 1

如果 BUFFERPOOL 值的计算结果大于 10000000 则,将其取值为 10000000。

  • 对于 16 KB 缺省页大小的操作系统:

BUFFERPOOL = memorybase * 25000

如果 BUFFERPOOL 值的计算结果大于 3000000 则,将其取值为 3000000。

内存格式的缓冲池的大小

如果您使用内存格式,则缺省状态下,缓冲池大小根据需要增长。当平均高速缓存读命中率低于阈值时,共享内存段添加到缓冲池。您可设置缓冲池的初始大小和大小的最大值,或允许数据库服务器最优的大小。

如果 extendable 域设置为零,则缓冲池不增长。如果设置,则大小等于 start_memory 域的值,否则,等于 memory 域的值。

当您重启服务器时,缓冲池的大小重置为 start_memory 域的值。

缓冲区格式的缓冲池大小

如果您使用 buffers 格式,则缺省情况下,缓冲池大小不增长。大小等于 buffers 域的值。

如果您设置 extendable 域为 1,则当平均高速缓存读命中率低于阈值时,共享内存段添加到缓冲池。您必须在 buffers 域中设置缓冲区的初始数目。您可选择通过设置缓冲区的数目来扩展缓冲池,以及缓冲池可扩展的最大次数,以及高速缓存命中率。每四次扩展,添加到缓冲池的缓冲区数目翻倍。

示例:添加一个带 memory 域的 BUFFERPOOL 条目

下列条目创建一个有 10 KB 页大小的缓冲池:

BUFFERPOOL size=10k,start_memory=auto,memory=4gb

缓冲池可扩展到 4 GB。数据库服务器决定缓冲池的初始大小和扩展到缓冲池的大小。

示例:添加一个带有 buffers 域的 BUFFERPOOL 条目

下列条目创建一个有 2 KB 页大小的缓冲池:

BUFFERPOOL size=2k,extendable=1,buffers=1000,next_buffers=2000,max_extends=8

缓冲池可扩展八次。缓冲池启动时有 1000 个缓冲区。最初三个缓冲池扩展添加 2000 个缓冲区。第四次到第七次扩展添加 4000 个缓冲区。第八次扩展添加 8000 个缓冲区。

示例:通过添加一个带有不同页大小的 dbspace 来添加一个 BUFFERPOOL 条目

当您用 onspaces 命令添加一个带有不同页大小的 dbspace 时,或者当您用 onparams 命令添加一个缓冲池时,在 onconfig 文件中添加一个 BUFFERPOOL 配置参数条目。下列示例显示一个第三条目:

BUFFERPOOL default,buffers=10000,lrus=8,lru_min_dirty=50.00,lru_max_dirty=60.50
BUFFERPOOL size=2k,buffers=10000,lrus=8,lru_min_dirty=50,lru_max_dirty=60
BUFFERPOOL size=6k

当您创建一个非缺省页大小的 dbspace 时,如果现有的 BUFFERPOOL 条目存在,则数据库服务器使用那个条目的页大小。否则,数据库服务器使用来自 BUFFERPOOL 缺省行的值。

BULKBIND_THREAD_CNT 配置参数

使用 BULKBIND_THREAD_CNT 配置参数来设置批量更新的并发任务数。通过设置此参数来支持服务器端通过多任务的方式执行大量数据的批量更新功能。

onconfig.std 值

BULKBIND_THREAD_CNT 10

大于等于10;建议设置为略小于配置的 CPU VP 数。缺省值为 10。

单位

批量更新的并发任务数。

生效

编辑 onconfig 文件并重启数据库服务器之后。

CHECKALLDOMAINSFORUSER 配置参数

使用 CHECKALLDOMAINSFORUSER 配置参数来为所有用户检查所有域。

onconfig.std 值

不在 onconfig.std 文件中

0 = 禁用

1 = 启用

生效

编辑 onconfig 文件并重启数据库服务器之后。

CKPTINTVL 配置参数

使用 CKPTINTVL 配置参数来指定数据库服务器检查决定是否需要检查点的频率,用秒表示。当发生检查点时,所有共享内存缓冲池中的页都写到磁盘。

onconfig.std 值

CKPTINTVL 300

大于或等于 0 的任何值

单位

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件内动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

RTO_SERVER_RESTART 和 CKPTINTVL 配置参数相互排斥。如果启用 RTO_SERVER_RESTART 配置参数,则会触发检查点并忽略 CKPTINTVL 值。否则,使用 CKPTINTVL 值来触发检查点。

如果您将 CKPTINTVL 配置参数设置为一个过短的间隔,则系统花费过多时间执行检查点,其他工作的性能受损。如果您将 CKPTINTVL 配置参数设置为一个过长的间隔,则快速恢复花费时间过长。

在实践中,30 秒是数据库服务器检查的最小间隔。如果您指定检查点间隔为 0,则数据库服务器不检查检查点间隔是否已过。然而,数据库服务器仍执行检查点。在其他情况下,比如物理日志满至 75%,也会导致数据库服务器执行检查点。

CLEANERS 配置参数

使用 CLEANERS 配置参数来指定数据库服务器运行期间可用的页清除程序线程数。缺省情况下,数据库服务器总是运行一个页清除程序线程。通用指导原则是每个磁盘驱动一个页清除程序。指定的值不影响共享内存的大小。

根据服务器工作负荷,服务器自动地尝试优化 AIO VP 和页清除程序线程,并在需要时向上调整 AIO VP 和页清除程序线程的数目。可使用环境变量 IFX_NO_AIOVP_TUNING 或 onmode -wm 命令选项禁用 AIO VP 和页清除程序线程的自动调整。

onconfig.std 值

CLEANERS 8

1-128

单位

页清除程序线程数

生效

编辑 onconfig 文件并重启数据库服务器之后。

CLUSTER_TXN_SCOPE 配置参数

设置 CLUSTER_TXN_SCOPE 配置参数来配置高可用性集群,以便在客户端会话发出提交时,服务器在辅助服务器上或跨集群地阻塞会话直到事务在那个会话中应用。

onconfig.std 值

CLUSTER_TXN_SCOPE SERVER

  • SESSION = 当客户端会话发出提交时,数据库服务器阻塞会话,直到事务提交的影响返回到那个会话。控制返回到会话之后,同一个数据库服务器的其他会话或集群中其他数据库服务器上的其他会话可能觉察不到事务提交和事务的影响。
  • SERVER (缺省行为) = 当客户端会话发出提交时,数据库服务器阻塞会话,直到事务应用在客户端发出提交的那个数据库服务器。那个数据库服务器的其他会话觉察到事务提交和事务的影响。集群中的其他数据库服务器会话可能觉察不到事务的提交及其影响。对于高可用性集群服务器,这是缺省行为。
  • CLUSTER = 当客户端会话发出提交时,数据库服务器阻塞会话,直到事务应用在高可用性集群中所有数据库服务器,除了使用 DELAY_APPLY 或 STOP_APPLY 的 RHAC 辅助服务器之外,这些会话觉察到事务提交和事务的影响。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

您运行带有 -wf CLUSTER_TXN_SCOPE=value 或 -wm CLUSTER_TXN_SCOPE=value 参数的 SQL 管理 API task() 或 admin() 函数之后。

用法

设置 CLUSTER_TXN_SCOPE 配置参数来控制从高可用性集群返回事务提交到客户端应用程序。集群事务协调可延迟事务提交到客户端应用程序的返回,直到事务应用到辅助服务器或高可用性集群中的所有辅助服务器。 这个例程防止由于异步日志处理导致的操作失败,并确保多步骤处理中的那些步骤按串行顺序发生。

集群事务协调不应用到 RHAC 辅助服务器,该服务器有 DELAY_APPLY 或 STOP_APPLY 配置函数值而不是 0。在客户端应用程序可收到提交之前,事务不需要应用在 RHAC 辅助服务器上。

CLUSTER_TXN_SCOPE 影响只读辅助服务器和可更新辅助服务器上的会话。

示例1:在高可用性集群服务器间的事务协调

在这个示例中,客户端应用程序启动一个两步骤进程。客户端应用程序在主数据库服务器上插入数据,然后在 HAC 辅助服务器上启动数据处理。

在来自主服务器的日志应用在 HAC 辅助服务器上之前,如果试图在 HAC 服务器上对插入的数据执行 SELECT,则操作失败。 为了防止此失败,设置主服务器的 CLUSTER_TXN_SCOPE 配置参数为 CLUSTER,以便客户端应用程序不收到提交,且不可启动数据处理,直到数据插入页应用在 HAC 辅助服务器上。

示例2:数据库服务器上的事务协调

在此示例中,您让一个客户端应用程序分作几个处理步骤。每个处理步骤使用一个不同的 SQL 会话来连接到数据库服务器。应用程序更新数据,然后应用程序的另一部分在不同的 SQL 会话中处理被更新的数据。

如果 CLUSTER_TXN_SCOPE 设置为 SESSION,则处理被更新的数据的那部分应用程序觉察不到更新的结果,可发生失败。为了防止此失败,设置数据库服务器的 CLUSTER_TXN_SCOPE 配置参数为 SERVER,以便客户端应用程序不接收提交,且不启动数据处理,直到在数据库服务器上更新完成。

CONSOLE 配置参数

使用 CONSOLE 配置参数来指定控制台消息文件的路径和名称。

onconfig.std 值

UNIX™ 上:$GBASEDBTDIR/tmp/online.con

Windows™ 上:online.con

pathname = online.con 文件的完整路径名。

生效

编辑 onconfig 文件并重启数据库服务器之后。

CONVERSION_GUARD 配置参数

如果在升级过程中发生错误,使用 CONVERSION_GUARD 配置参数来指定 GBase 8s 是停止还是继续升级到服务器的新版本。

onconfig.std 值

CONVERSION_GUARD 2

0 = 禁用。

1 = 如果发生与捕获恢复点数据相关的错误,则启用一个恢复点作为升级进程的一部分,并停止升级。

2 = 即使发生与捕获恢复点数据相关的错误,也启用一个恢复点作为升级进程的一部分,并继续升级。

单位

整数

生效

当数据库服务器重启时。

用法

缺省情况下:

  • CONVERSION_GUARD 配置参数为开(设置为 2)。如果升级到服务器新版本失败,则您可使用 onrestorept 命令来恢复数据。
  • 服务器在 $GBASEDBTDIR/tmp 目录中存储恢复点数据。

如果 CONVERSION_GUARD 配置参数设置为 1 或 2 且升级到服务器新版本失败,则您可使用 onrestorept 命令来恢复数据。

如果 CONVERSION_GUARD 配置参数设置为 2 且转换防护操作失败(例如,由于服务器没有足够空间存储恢复点数据),升级失败,则您不可使用 onrestorept 命令来恢复数据。

在启动服务器初始化升级到服务器新版本前,您可更改 CONVERSION_GUARD 配置参数的值或更改在 RESTORE_POINT_DIR 配置参数中指定的目录。升级期间,您不可更改 CONVERSION_GUARD 或 RESTORE_POINT_DIR 值。

DATASKIP 配置参数

使用 DATASKIP 配置参数来控制在事务处理期间,数据库服务器是否跳过不可用的 dbspace。

onconfig.std 值

未设定。不跳过 dbspace。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onspaces -f 命令在 onconfig 文件中动态地重置该值时。

您运行带有 set dataskip 参数的 SQL 管理 API task() 或 admin() 函数之后。

用法

在查询期间无论何时只要数据库服务器跳过 dbspace,就会返回警告。

请慎重启用 DATASKIP 配置参数,因为结果总会有问题。仅在下列情况下启用该参数:

  • 您可接受折中的事务完整性。
  • 您可确定事务的完整性未作出让步,这样做困难又费时。

DATASKIP 配置参数的语法

描述
ALL跳过所有不可用分片。
OFF处理所有分片,包括不可用分片。
ONdbspace_name 值指定一个或多个跳过的 dbspace,用逗号分隔。

应用程序可使用 SQL 语句 SET DATASKIP 来取代 DATASKIP 配置参数的值。

对于 GBase 8s ESQL/C,以前保留的 SQLCA 警告标志 sqlwarn.sqlwarn7 设置为 W。

DBCREATE_PERMISSION 配置参数

使用 DBCREATE_PERMISSION 配置参数来限制指定用户创建数据库的权限。

gbasedbt 用户总有创建数据库的权限。要限制 gbasedbt 用户创建数据库的能力,设定 DBCREATE_PERMISSION 配置参数为 gbasedbt。

onconfig.std 值

UNIX™ 上:未设置。任何用户都可创建数据库。

缺省值

任何用户都可创建数据库。

单位

用户名

分隔符

逗号。您还可在 onconfig 文件中包括 DBCREATE_PERMISSION 配置参数的多个副本来授权更多用户创建数据库。

生效

编辑 onconfig 文件并重启数据库服务器之后。

DBCREATE_PERMISSION 配置参数不提供创建 tenant 数据库的许可。用户必须有 TENANT 权限来创建 tenant 数据库。通过运行带有 grant admin 参数的 admin() 或 task() SQL 管理 API 函数授予 TENANT 权限。

DB_LIBRARY_PATH 配置参数

使用 DB_LIBRARY_PATH 配置参数来指定一个逗号分隔的有效目录前缀位置的列表,数据库服务器可从此加载外部模块,比如 DataBlade Modules。您还可在该列表中包括服务器环境变量,比如 $GBASEDBTDIR。

您必须确切地指定外部模块的路径,与数据库服务器注册的路径一致。相对路径或包括双句号(..)的路径无效。不用这个参数指定的文件系统中的模块不可加载。在加载 C 语言模块前扫描这个列表。

如果您设置这个配置参数,您还必须包括字符串 $GBASEDBTDIR/extend 作为该值的一部分。如果 DB_LIBRARY_PATH 中未包括字符串 $GBASEDBTDIR/extend,则不加载内建扩展、DataBlade 模块和 BladeManager 命令。

onconfig.std 值

未设置

如未出现

数据库服务器可从任何位置加载外部模块

路径名列表(最多 512 字节)

分隔符

逗号

生效

编辑 onconfig 文件并重启数据库服务器之后。

DBSPACETEMP 配置参数

使用 DBSPACETEMP 配置参数来指定 dbspace 列表,数据库服务器用来全面地管理临时表存储。

DBSPACETEMP 通过启用数据库服务器跨多磁盘有效地拓展临时表 I/O。备份期间,数据库服务器还使用临时 dbspace 来保存数据的前映像,这些数据在发生备份时会被重写。

onconfig.std 值

未设定。临时表存储在 root dbspace 中。

分隔符

逗号或冒号(无空白)

一个或多个 dbspace 名称。这些 dbspace 可是标准 dbspace、临时 dbspaces 或二者都是。用冒号号或逗号分隔 dbspace 名称。列表长度不可超过 254 字节。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

DBSPACETEMP 可包含非缺省页大小的 dbspace,但是 DBSPACETEMP 列表中的所有 dbspace 必须有相同的页大小。

如果客户端应用程序需要指定一个 dbspace 的替代列表来用于临时表定位,则客户端可使用 DBSPACETEMP 环境变量来罗列。仅当您使用 UPDATE STATISTICS 的 HIGH 选项时,数据库服务器才使用 DBSPACETEMP 环境变量指定的存储定位。

如果在 DBSPACETEMP 配置参数或环境变量中同时罗列了标准 dbspace 和临时 dbspace,则引用下列规则:

  • 如果空间充足,则在临时 dbspace 中创建排序、备份、隐式和非日志显式临时表。
  • 不用 WITH NO LOG 选项,在标准(而非临时)dbspace 中创建显式临时表。

当您用 onspaces 命令创建临时 dbspace 时,数据库服务器不适用新创建的临时 dbspace,直到您设置 DBSPACETEMP 配置参数或环境变量并重启服务器。

DBSPACETEMP 环境变量立即生效并取代 DBSPACETEMP 配置参数。

使用 GBase 8s 散列联接溢出(Hash Join Overflow)和 DBSPACETEMP

如果您不设置 DBSPACETEMP 环境变量或 DBSPACETEMP 配置参数,则 GBase 8s 使用操作系统目录或文件来指向一些数据库操作引起的任何溢出。

您可以下列方式指定操作系统目录或文件:

  • 带有 GROUP BY 子句的 SELECT 语句
  • 带有 ORDER BY 子句的 SELECT 语句
  • 散列联接操作
  • 嵌套循环联接操作
  • 索引构建

排序溢出文件的位置

下表罗列您可使用来指定排序溢出文件的位置的环境变量和 ONCONFIG 配置参数。

变量或参数排序溢出文件的位置
PSORT_DBTEMP 环境变量在环境变量中指定的位置
DBSPACETEMP 环境变量在环境变量中指定的位置
ONCONFIG 文件中指定的 DBSPACETEMP 配置参数ONCONFIG 文件 DBSPACETEMP 配置参数中指定的 dbspace

如果指定多于一个变量或参数,则 GBase 8s 确定排序溢出文件位置优先次序是:

  1. PSORT_DBTEMP 环境变量
  2. DBSPACETEMP 环境变量
  3. DBSPACETEMP ONCONFIG 变量
  4. DUMPDIR
  5. $GBASEDBTDIR/tmp

如果未设置环境变量或配置参数,则排序溢出文件置于 $GBASEDBTDIR /tmp 目录中,且临时表置于 rootdbspace 中。

DD_HASHMAX 配置参数

使用 DD_HASHMAX 配置参数来指定在数据字典高速缓冲中每个散列存储区中表的最大数目。

散列存储区是存储(通常是一页)的单位,通过散列函数计算其地址。一个散列存储区包含若干记录。

例如,如果 DD_HASHMAX 配置参数设置为 10 且 DD_HASHSIZE 配置参数设置为 59,则您可在数据字典高速缓存中存储大约 590 个表的信息,且每个散列存储区可有最多 10 个表。

使用文本编辑器来修改该配置文件。

onconfig.std 值

DD_HASHSIZE 10

正整数

单位

一个散列存储区中表的最大数目

生效

编辑 onconfig 文件并重启数据库服务器之后。

DD_HASHSIZE 配置参数

使用 DD_HASHSIZE 配置参数来指定散列缓冲区的数目,或数据字典高速缓存中的列表数目。

使用文本编辑器来修改该配置文件。

onconfig.std 值

DD_HASHSIZE 31

任何正整数;推荐质数

单位

散列存储区或列表的数目

生效

编辑 onconfig 文件并重启数据库服务器之后。

DEADLOCK_TIMEOUT 配置参数

使用 DEADLOCK_TIMEOUT 配置参数来指定数据库服务器可等待获取锁的最大秒数。

仅为涉及远程数据库服务器的分布式查询使用此参数。对非分布式查询不使用此参数。

onconfig.std 值

DEADLOCK_TIMEOUT 60

正整数

单位

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令设置内存中的该值时。

用法

如果分布式事务被强制等待的时间大于 DEADLOCK_TIMEOUT 配置参数指定的秒数时,则拥有该事务的线程假定存在多服务器死锁。

DEF_TABLE_LOCKMODE 配置参数

使用 DEF_TABLE_LOCKMODE 配置参数来指定新表在页级或行级的锁模式。

onconfig.std 值

PAGE

PAGE = 为新表设置页的锁模式

ROW = 为新表设置行的锁模式

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

优先规则

通过在 CREATE TABLE 或 ALTER TABLE 语句中包括 LOCK MODE 子句,您可取代对于特定表的所有其他锁模式。

在客户端设置的 IFX_DEF_TABLE_LOCKMODE 环境变量优先于服务器上的变量和 DEF_TABLE_LOCKMODE 配置参数。

在服务器上设置的 IFX_DEF_TABLE_LOCKMODE 环境变量优先于 DEF_TABLE_LOCKMODE 配置参数。

用法

如果 DEF_TABLE_LOCKMODE 配置参数设置为 ROW,对于连接到日志记录或非日志记录数据库的所有会话,则将每一个新创建表的锁模式都设置到行。该参数不影响现有表的锁模式。

如果 DEF_TABLE_LOCKMODE 配置参数设置为 PAGE,则 USELASTCOMMITTED 配置参数和 SET ISOLATION 语句的 COMMITTED READ LAST COMMITTED 选项不可启用访问未提交事务持有排他锁的表中的最近提交数据,除非明确地创建或更改这些表将 ROW 作为其锁定粒度。

DEFAULTESCCHAR 配置参数

DEFAULTESCCHAR 配置参数指定用于 LIKE 和 MATCHES 的缺省转义符。

onconfig.std 值

DEFAULTESCCHAR 反斜线字符(\)。

如未出现

如果在 onconfig 文件中未设置值,则使用反斜线字符(\)。

\ = 使用反斜线字符作为转义符。

NONE = 无缺省转义符。

character = 任何一字符值都可用作转义符。

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

通过使用带有您想使用的转义符的 SET ENVIRONMENT DEFAULTESCCHAR 语句,可以在会话中取代缺省值。例如:

SET ENVIRONMENT DEFAULTESCCHAR '\'

DELAY_APPLY 配置参数

使用 DELAY_APPLY 配置参数来配置 RHAC 辅助服务器应用日志之前等待指定的时间期间。

onconfig.std 值

DELAY_APPLY 0

缺省值

0

0 = 应用日志

后跟时间单位的整数:例如,1H 设置延迟一个小时。

number: 1-999 = 等待的天数、分钟数、小时数或秒数。

time_unit: D、H、M或S,此处 D = 天,H = 小时,M = 分钟,S = 秒。 这些值不区分大小写。

生效

编辑 onconfig 文件并重启数据库服务器后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

延迟日志文件的应用允许您通过从 RHAC 辅助服务器恢复数据来快速恢复错误的数据库修改。当设置 DELAY_APPLY 的值时,您必须还要设置 LOG_STAGING_DIR。如果配置 DELAY_APPLY 而未将 LOG_STAGING_DIR 设置为一个有效且安全的目录,则服务器不可初始化。

您必须通过设置 LOG_STAGING_DIR 配置参数来指定一个日志文件的有效并安全位置。在 RHAC 辅助服务器上处理完最后的检查点之后,清除 GBase 8s staging 目录中的日志。

要看到有关发送到为 RHAC 辅助服务器设置的 GBase 8s log-staging 目录的数据信息,请在 RHAC 辅助服务器上运行 onstat -g rss verbose 命令。

如果写 GBase 8s staging 文件失败,则 RHAC 辅助服务器发出事件报警 40007。

如果远程独立辅助(RHAC)服务器的 DELAY_APPLY 配置参数设置为一个非 0 的值,则服务器不可用集群事务协调。

DIRECT_IO 配置参数(UNIX)

使用 DIRECT_IO 配置参数来控制用于 dbspace chunk 的熟文件直接 I/O。

该参数在 UNIX™ 平台上启用直接 I/O (绕过文件系统缓冲)或在 AIX® 操作系统上启用并发 IO(绕过文件系统缓冲和不必要的写串行化。)

onconfig.std 值

DIRECT_IO 0

0 = 不使用直接 I/O 或并发 I/O

1 = 如果可以使用,则直接 I/O,绕过文件系统缓冲

2 = 在 AIX 操作系统上启用并发 I/O(并发 I/O 选项包括直接 I/O 和并发 I/O。)

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

直接 I/O 仅可用于 dbspace chunk,其文件系统支持页大小的直接 I/O。

通过使用直接 I/O,您能减少 AIO 虚拟处理器的数目。

如果启用直接 I/O,则使用文件系统支持的 KAIO(内核异步 I/O)。然而,如果设置环境变量 KAIOOFF,则不使用 KAIO。当直接 IO 和 KAIO 都使用时,可减少 AIO 虚拟处理器的数目。如果使用直接 IO,但不使用 KAIO,则不应减少 AIO 虚拟处理器的数目。

对于用作临时 dbspace chunk 的熟文件,GBase 8s 不使用直接或并发 I/O。

在 AIX 上,如果 GBase 8s 使用 chunk 的并发 I/O,则另一个程序(比如一个在线外部备份程序)必须也使用并发 I/O。否则,文件打开操作将失败。

如果 GBase 8s 使用 chunk 的直接 I/O,且另一个程序试图不使用直接 I/O 来打开该 chunk,则打开操作正常成功,但可发生性能损失。之所以发生损失,是因为文件系统可能试图确保每个打开操作查看相同的文件数据,或者通过在冲突打开操作期间根本不使用直接 I/O,或者通过在每次直接 I/O 前清空文件系统高速缓存并在每次直接写之后使文件系统高速缓存无效。

DIRECTIVES 配置参数

使用 DIRECTIVES 配置参数来启用或禁用优化器指令。这些指令指定在开发 SELECT、UPDATE 和 DELETE 语句的查询计划中查询优化器的行为。

onconfig.std 值

DIRECTIVES 1

0 = 禁用优化器指令

1 = 启用优化器指令

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

环境变量

IFX_DIRECTIVES

用法

设置 DIRECTIVES 为缺省值 1,来启用数据库服务器处理优化器指令。设置 DIRECTIVES 为 0 来禁用数据库服务器处理指令。

客户端程序还可设置 IFX_DIRECTIVES 环境变量为 ON 或 OFF 来启用或禁用数据库服务器处理指令。 IFX_DIRECTIVES 环境变量的设置取代 DIRECTIVES 配置参数的设置。如果您不设置 IFX_DIRECTIVES 环境变量,则客户端的所有会话继承数据库服务器配置处理指令。

DISABLE_B162428_XA_FIX 配置参数

使用 DISABLE_B162428_XA_FIX 配置参数来指定释放事务的时刻。

onconfig.std 值

不在 onconfig.std 文件中。

0 = (缺省)仅当调用 xa_rollback 时释放事务。

1 = 如果是非 xa_rollback 的事务回滚,则释放事务。

单位

整数

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

设置 DISABLE_B162428_XA_FIX 为 1,在事务回滚之后立即释放所有全局事务。

您可用 IFX_XASTDCOMPLIANCE_XAEND 环境变量取代客户端会话的 DISABLE_B162428_XA_FIX 配置参数。 设置 IFX_XASTDCOMPLIANCE_XAEND 为 1,则仅当调用 xa_rollback 时释放事务。设置 IFX_XASTDCOMPLIANCE_XAEND 为 0,则在非 xa_rollback 的事务回滚时释放事务。

DRDA_COMMBUFFSIZE 配置参数

使用 DRDA_COMMBUFFSIZE 配置参数来指定 DRDA® 通信缓冲区的大小。

当建立一个 DRDA 会话时,为会话分配一个等于当前缓冲区大小的通信缓冲区。如果后来更改了缓冲区大小,则现有的连接不受影响,但新的 DRDA 连接使用新的大小。 GBase 8s 自动将大于 2 MB 的值重置到 2 MB,并将小于 4KB 的值重置到 32 KB 缺省值。

onconfig.std 值

不在 onconfig.std 文件中。

如果不出现

32K

Minimum = 4 KB

Maximum = 2 MB

生效

当初始化共享内存时

用法

通过为值添加“M”或“K”,用户可以 MB 或 KB 为单位指定 DRDA_COMMBUFFSIZE 值。字母不区分大小写,缺省是 KB。例如,可以下列方法之一指定一个 1 MB 缓冲区:

  • DRDA_COMMBUFFSIZE 1M
  • DRDA_COMMBUFFSIZE 1m
  • DRDA_COMMBUFFSIZE 1024K
  • DRDA_COMMBUFFSIZE 1024k
  • DRDA_COMMBUFFSIZE 1024

DRAUTO 配置参数

设置 DRAUTO 配置参数来指定对 HAC 高可用性系统的 HAC 故障转移方式。

onconfig.std 值

DRAUTO 0

值域

描述
0禁用自动故障转移。当主服务器故障或失去网络连接时,HAC 辅助服务器成为只读。
1启用自动故障转移。当主服务器故障或失去网络连接时,将 HAC 辅助服务器转为标准服务器。HAC 辅助服务器适时地终止客户端连接并关闭,然后重启作为标准服务器。
当故障的主服务器重启或重新连接到网络时,将标准服务器转回为 HAC 辅助服务器。
如果您配置了连接管理器来执行故障转移,则不使用此设置。
2启用自动故障转移。当主服务器故障或失去网络连接时,将 HAC 辅助服务器转为主服务器。HAC 辅助服务器保持客户端连接,且不关闭。
当故障的主服务器重启或重新连接到网络时,将其转为 HAC 辅助服务器。 如果您配置了连接管理器来执行故障转移,则不使用此设置。
3由连接管理器控制故障转移。为了自动故障转移,连接管理器必须配置并是活动的。

生效

当初始化共享内存时。

用法

所有高可用性集群的服务器都必须有相同的 DRAUTO 配置参数设置。

DRAUTO 配置参数不控制 SSC 辅助服务器或 RHAC 辅助服务器的故障转移。要设置有 SSC 辅助服务器或 RHAC 辅助服务器的高可用性集群的自动故障转移,请配置连接管理器。

重要

如果您正在使用连接管理器来控制故障转移,则所有集群服务器上的 DRAUTO 配置参数都必须设置为 3。在连接管理器是活动的时候,您必须不执行手工故障转移。

DRIDXAUTO 配置参数

如果辅助 HAC 服务器检测到一个损坏的索引,则使用 DRIDXAUTO 配置参数来指定主高可用性数据复制(HAC)服务器是否自动地启动索引复制。

onconfig.std 值

DRIDXAUTO 0

0 = 关

1 = 开

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

要改变活动的服务器实例的 DRIDXAUTO 配置参数值,请使用 onmode -d idxauto 命令。您不需要重启服务器实例。 然而,onmode -d idxauto 命令将不修改 onconfig 文件中 DRIDXAUTO 配置参数值。

DRINTERVAL 配置参数

使用 DRINTERVAL 配置参数来指定两次清空数据复制缓冲区间隔的最大秒数,或是否使用 HDR_TXN_SCOPE 配置参数指定的异步模式。

onconfig.std 值

DRINTERVAL 0

-1 = 使用 HAC SYNC 模式。如果主服务器使用无缓冲的日志记录,则复制是同步的。

0 = HDR_TXN_SCOPE 配置参数的值决定 HAC 数据复制的同步模式。

正整数 = 使用 HAC ASYNC 模式。正整数是两次清空数据复制缓冲区之间间隔的最大秒数。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

DRINTERVAL 配置参数控制复制延迟,并用来设置复制同步。

如果使用无缓冲的日志记录,则 HAC SYNC 模式与同步模式几乎相同,通过 HDR_TXN_SCOPE 配置参数设置同步模式。

DRINTERVAL、HDR_TXN_SCOPE和日志记录设置的矩阵,及其 HAC 复制模式的结果如下。

DRINTERVALHDR_TXN_SCOPE日志记录结果
-1有缓冲异步复制
-1无缓冲将近同步复制
0FULL_SYNC有缓冲完全同步复制
0FULL_SYNC无缓冲完全同步复制
0ASYNC有缓冲异步复制
0ASYNC无缓冲异步复制
0NEAR_SYNC有缓冲将近同步复制
0NEAR_SYNC无缓冲将近同步复制
正整数有缓冲异步复制
正整数无缓冲异步复制

DRLOSTFOUND 配置参数

使用 DRLOSTFOUND 配置参数来指定到失而复得文件的路径名。此文件指出,当主数据库服务器发生故障时,有些事务在辅助数据库服务器上未提交之前,在 HAC 主数据库服务器上提交了。

onconfig.std 值

UNIX™ 上:$GBASEDBTDIR/etc/dr.lostfound

pathname = dr.lostfound 文件的路径名

生效

编辑 onconfig 文件并重启数据库服务器之后。

当 DRINTERVAL 配置参数设置为 -1时,如果在主和辅助数据库服务器之间同时发生更新,则 DRLOSTFOUND 不适用。

失而复得文件 dr.lostfound.timestamp 创建时,带着一个时间戳。该时间戳附在文件名后,以便当存在另一个文件时,数据库服务器不会重写另一个失而复得文件。您不能使用失而复得文件来重新应用丢失的事务。

DRTIMEOUT 配置参数

使用 DRTIMEOUT 配置参数来指定以秒计的时间长度,是在高可用性数据库服务器对中数据库服务器等待其他数据库服务器发来迁移确认的时长。此参数仅适用于高可用性数据复制对。

onconfig.std 值

DRTIMEOUT 30

正整数

单位

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

使用下列公式来计算为 DRTIMEOUT 配置参数指定的值:

DRTIMEOUT = wait_time / 4

在此公式中,wait_time 时以秒计的时间长度,是在服务器认定高可用性数据复制发生故障之前,高可用性数据复制对中数据库服务器等待的时长。

例如,您确定系统的 wait_time 是 160 秒。使用先前的公式设置 DRTIMEOUT 如下:

DRTIMEOUT = 160 秒 / 4 = 40 秒

DS_HASHSIZE 配置参数

使用 DS_HASHSIZE 配置参数来指定在数据分布高速缓存和其他高速缓存中散列存储区的数目。数据库服务器存储和访问在数据分布高速缓存中 MEDIUM 或 HIGH 模式下 UPDATE STATISTICS 语句生成的列统计信息。

onconfig.std 值

DS_HASHSIZE 31

任何正整数;推荐质数

单位

散列存储区或列表的数目

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

更新 DS_HASHSIZE 和 DS_POOLSIZE 配置参数值来提高在多用户环境中频繁使用的查询性能。

DS_HASHSIZE 配置参数为下列高速缓存设置散列存储区的数目:

  • 数据分布高速缓存
  • 扩展类型名高速缓存
  • 扩展类型 ID 高速缓存
  • GBase 8s cast 高速缓存
  • 运算符类实例高速缓存
  • 例程解析高速缓存
  • 合计高速缓存
  • 辅助瞬态高速缓存

DS_MAX_QUERIES 配置参数

使用 DS_MAX_QUERIES 配置参数来指定可并发地运行的并行数据库查询(PDQ)的最大数目。

DS_MAX_QUERIES 配置参数的值依赖于 DS_TOTAL_MEMORY 配置参数的设置:

  • 如果设置 DS_TOTAL_MEMORY 配置参数,则 DS_MAX_QUERIES 的值是 DS_TOTAL_MEMORY / 128,向下取整到最接近的整数值。
  • 如果未设置 DS_TOTAL_MEMORY 配置参数,则 DS_MAX_QUERIES 配置参数的值是 2 * num,此处 num 是在 VPCLASS 配置参数中指定的 CPU 数目。

onconfig.std 值

未设置。

如未出现

2* num * 128,此处 num 是在 VPCLASS 配置参数中指定的 CPU 数目。

最小值 = 1

最大值 = 8,388,608 (8 MB)

单位

查询的数目

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

“内存分配管理器”(MGM)根据下列公式为查询保留内存:

memory_reserved = DS_TOTAL_MEMORY *
(PDQ-priority / 100) *
(MAX_PDQPRIORITY / 100)

或者在 PDQPRIORITY 环境变量中,或者在 SQL 语句 SET PDQPRIORITY 中指定 PDQPRIORITY 的值。

DS_MAX_SCANS 配置参数

使用 DS_MAX_SCANS 配置参数来限定数据库服务器可并发执行的 PDQ 扫描线程的数目。

onconfig.std 值

DS_MAX_SCANS 1048576 或 (1024 * 1024)

10 - (1024 * 1024)

单位

PDQ 扫描线程数

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

当用户发出查询时,数据库服务器根据下列值分配一些扫描线程:

  • PDQ 优先级的值(通过环境变量 PDQPRIORITY 或 SQL 语句 SET PDQPRIORITY 设置)
  • 以 DS_MAX_SCANS 设置的上限
  • 以 MAX_PDQPRIORITY 设置的因子
  • 要扫描的表中的分片数(公式中的 nfrags)

内存分配器(MGM)试图根据下列公式为查询保留扫描线程:

reserved_threads = min (nfrags, (DS_MAX_SCANS * PDQPRIORITY / 100 * MAX_PDQPRIORITY / 100) )

如果公式的 DS_MAX_SCANS 部分大于或等于要扫描的表中的分片数,则查询保持在就绪队列中,直到有表分片且可用的扫描线程一样多。一旦进行,查询快速地执行,因为线程在并行地扫描分片。

例如,如果 nfrags 等于 24,DS_MAX_SCANS 等于 90,PDQPRIORITY 等于 50, 且 MAX_PDQPRIORITY 等于 60,则查询不开始执行直到有 nfrags 个扫描线程可用。扫描并行发生。

如果 DS_MAX_SCANS 公式降到低于分片数,则查询会尽快开始执行,但由于线程串行地扫描分片,查询执行时间较长。

在前一个示例中,如果将 DS_MAX_SCANS 降低到 40,则查询需要较少的资源(12 个扫描线程)来开始执行,但每一个线程需要串行地扫描两个分片。执行耗时较长。

DS_NONPDQ_QUERY_MEM 配置参数

使用 DS_NONPDQ_QUERY_MEM 配置参数来增加查询可用的内存数量,该查询不是并行数据库查询(PDQ)。(如果 PDQ 优先级设为零,则您可仅使用该参数。)

onconfig.std 值

DS_NONPDQ_QUERY_MEM:

  • UNIX™ 上:256

从缺省值到 DS_TOTAL_MEMORY 值的 25%

单位

KB

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

如果您为 DS_NONPDQ_QUERY_MEM 参数指定一个值,则根据表行的数目和大小确定和调整该值。

提示

通常设置该值不超过最大可用临时 dbspace 大小。

在数据库服务器初始化期间根据计算得到的 DS_TOTAL_MEMORY 值来计算 DS_NONPDQ_QUERY_MEM 值。如果在处理 DS_NONPDQ_QUERY_MEM 期间,数据库服务器更改您设置的该值,则服务器按此格式发送消息:

DS_NONPDQ_QUERY_MEM recalculated and changed from old_value Kb to new_value Kb.

在此消息中,old_value 表示您在用户配置文件中赋给 DS_NONPDQ_QUERY_MEM 的值,new_value 表示由数据库服务器确定的值。

DS_POOLSIZE 配置参数

使用 DS_POOLSIZE 参数来指定在数据分布高速缓存和其他高速缓存中条目的最大数目。数据库服务器存储和访问列统计信息,在数据分布高速缓存中由 UPDATE STATISTICS 语句在 MEDIUM 或 HIGH 模式下生成。

onconfig.std 值

DS_POOLSIZE 127

正值 127 或更大的表示高速缓存中条目初始的最大数目的一半。最大值依赖于共享内存配置和可用的服务器实例的共享内存。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wm 命令增加内存中的该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

使用 DS_HASHSIZE 和 DS_POOLSIZE 配置参数来提高在多用户环境中频繁地运行查询的性能。

高速缓存中的最初条目数是 DS_POOLSIZE 配置参数值的两倍。例如,如果 DS_POOLSIZE 配置参数设置为 127,则在高速缓存中允许 254 个条目。 如果高速缓存中所有条目都满,则高速缓存的大小自动地增长 10%。要减小高速缓存的大小,请降低 onconfig 文件中 DS_POOLSIZE 配置参数的值并重启服务器。

DS_POOLSIZE 配置参数设置在下列高速缓存中的条目数:

  • 数据分布高速缓存
  • 扩展类型名称高速缓存
  • 扩展类型 ID 高速缓存
  • GBase_85 cast 高速缓存
  • 运算符类实例高速缓存
  • 例程解析高速缓存
  • 合计高速缓存
  • 辅助瞬态高速缓存

DS_TOTAL_MEMORY 配置参数

使用 DS_TOTAL_MEMORY 配置参数来指定 PDQ 查询可用的内存数量。此数量应小于计算机物理内存,减去固定的开销,比如操作系统大小和缓冲池大小。

onconfig.std 值

未设置。

如未出现

如果设置 SHMTOTAL=0 和 DS_MAX_QUERIES,则 DS_TOTAL_MEMORY = DS_MAX_QUERIES * 128。

如果 SHMTOTAL=0 且未设置 DS_MAX_QUERIES,则 DS_TOTAL_MEMORY = num_cpu_vps * 2 * 128。

如果设置 DS_MAX_QUERIES,则最小值是 DS_MAX_QUERIES * 128。

如果未设置 DS_MAX_QUERIES,则最小值是 num_cpu_vps * 2 * 128。

没有最大值限制,除非在您机器上的软件有任何限制。

单位

KB

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 重置内存中的该值时。

用法

不要将 DS_TOTAL_MEMORY 跟配置参数 SHMTOTAL 和 SHMVIRTSIZE 弄混。SHMTOTAL 设置指定数据库服务器的所有内存(内存的常驻、虚拟和消息部分的总和)。SHMVIRTSIZE 设置指定虚拟部分的大小。DS_TOTAL_MEMORY 是 SHMVIRTSIZE 的一个逻辑子集。

对于 OLTP 应用程序,将 DS_TOTAL_MEMORY 设置在 20% 与 SHMTOTAL 值的 50% 之间的 KB 数。

对于涉及大的决策支持(DSS)查询的应用程序,将 DS_TOTAL_MEMORY 值增加到 50% 与 SHMTOTAL 的 80% 之间。如果您使用数据库服务器排他地进行 DSS 查询,则将此参数设置在 90% 与 SHMTOTAL 的 100% 之间。

设置 DS_TOTAL_MEMORY 配置参数为不大于 (SHMVIRTSIZE - 10 MB)的任意值。

DS_TOTAL_MEMORY 的算法

当您未设置 DS_TOTAL_MEMORY 时,或您设置一个不合适的值,数据库服务器得出一个 DS_TOTAL_MEMORY 的值。

DUMPCNT 配置参数(UNIX™)

使用 DUMPCNT 配置参数来指定会话中的断言失败数目,达到此数目时,数据库服务器线程转储共享内存或通过调用 gcore 命令生成核心文件。

onconfig.std 值

DUMPCNT 1

正整数

单位

转储的共享内存或可在会话中生成的核心文件数目

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

当数据库服务器不能继续正常处理时,发生断言失败。

断言失败可生成与 DUMPCNT 配置参数值相同数量的核心文件或共享内存转储。进一步的断言失败在消息日志中生成错误,或许还生成应用程序错误,但不保存进一步的诊断信息。

DUMPCORE 配置参数(UNIX™)

使用 DUMPCORE 配置参数来控制断言失败是否导致虚拟处理器转储一个核心映像。核心文件留在最后一次发起调用数据库服务器的那个目录中。(DUMPDIR 参数不影响核心文件的位置。)

onconfig.std 值

DUMPCORE 0

0 = 不转储核心映像。

1 = 转储核心映像。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

警告

当 DUMPCORE 设置为 1 时,断言失败导致虚拟处理器转储一个核心映像,反过来导致数据库服务器终止。仅在受控的环境里为了调试才设置 DUMPCORE。

DUMPDIR 配置参数

数据库服务器从失败的断言转储共享内存、gcore 文件或消息到一个目录中。DUMPDIR 指定这个目录。

因为共享内存可能很大,所以设置 DUMPDIR 到一个有大量空间的文件系统。为了服务器启动,DUMPDIR 设置的那个目录必须存在。

onconfig.std 值

UNIX™ 上:$GBASEDBTDIR/tmp

用户 gbasedbt 有写访问权限的任何目录

生效

编辑 onconfig 文件并重启数据库服务器之后。

DUMPGCORE 配置参数(UNIX™)

使用 DUMPGCORE 配置参数来指定是否转储 gcore 核心文件。在支持 gcore 的操作系统上使用此配置参数。

onconfig.std 值

DUMPGCORE 0

0 = 不转储 gcore。

1 = 转储 gcore。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

如果您设置 DUMPGCORE,但操作系统不支持 gcore,则数据库服务器消息日志中的消息表明试图转储核心映像,但数据库服务器未能找到预期的文件。(如果操作系统不支持 gcore,则转而设置 DUMPCORE。)

如果设置 DUMPGCORE,则每当虚拟处理器遇到断言失败时,数据库服务器就调用 gcore。gcore 命令指引虚拟处理器将核心映像转储到 DUMPDIR 指定的目录中的 core.pid.cnt 文件,并继续处理。

pid 值是虚拟处理器的进程标识号。此进程每次遇到断言失败,cnt 值都增加。cnt 值的范围从 1 到 DUMPCNT 的值。达到 DUMPCNT 的值之后,不再创建核心文件。如果虚拟处理器继续遇到断言失败,则向消息日志报告错误(或许也向应用程序报告),但不保存进一步的诊断信息。

DUMPSHMEM 配置参数(UNIX™)

使用 DUMPSHMEM 配置参数来指出是否在断言失败时创建共享内存转储。此配置参数还指定将多少内存写到 shmem.pid.cnt 文件,该文件在 DUNPDIR 配置参数指定的目录中。

onconfig.std 值

DUMPSHMEM 1

0 = 不创建共享内存转储。

1 = 创建数据库使用的所有共享内存的共享内存转储。

2 = 创建不包括常驻内存中缓冲池的共享内存转储。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

如果 DUMPSHMEM 设置为 1,则转储数据库服务器使用的所有共享内存,这可导致生成一个大文件。当空间有限时,设置 DUMPSHMEM 为 2,因为此设置会生成一个较小的共享内存转储文件。

pid 值是虚拟处理器的进程标识号。虚拟处理器每次遇到断言失败 cnt 值就增加。cnt 值域可从 1 到 DUMPCNT 配置参数值。达到 DUMPCNT 值之后,不再创建文件。如果数据库服务器继续检测到不一致,则向消息日志报告错误(并或许向应用程序报告),但不再保存进一步的诊断信息。

DYNAMIC_LOGS 配置参数

使用 DYNAMIC_LOGS 配置参数来允许当有必要防止事务阻塞时动态地添加逻辑日志。

onconfig.std 值

DYNAMIC_LOGS 2

0 = 关闭动态日志分配。

1 = 关闭“log file required”报警并暂停来允许手工添加逻辑日志文件。您可在当前日志文件之后立即添加日志文件,或添加到日志文件列表尾部。

2 = 开启动态日志分配。当数据库服务器动态地添加日志文件时,会关闭“dynamically added log file”报警。

生效

对于 HAC:当数据库服务器关闭并重启时

对于 Enterprise Replication:当 Enterprise Replication 启动时

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

如果 DYNAMIC_LOGS 是 2,则当下一个活动的日志文件包含一个打开的事务时,数据库服务器动态地分配一个新的日志文件。动态日志分配防止长事务从阻塞的事务回滚。

如果您想要选择新逻辑日志文件的大小和位置,则设置 DYNAMIC_LOGS 为 1。使用 onparams -a 命令来在当前日志文件之后添加一个日志文件,该命令带有大小(-s)、位置(-d dbspace)和 -i 选项。

如果 DYNAMIC_LOGS 配置参数值是 0 且发生事务阻塞,则关闭数据库服务器,设置 DYNAMIC_LOGS 为 1 或 2,然后重启数据库服务器。

重要

如果您正在使用带有动态日志分配的 Enterprise Replication,则请设置 LTXEHWM 不高于 70。

EILSEQ_COMPAT_MODE 配置参数

使用 EILSEQ_COMPAT_MODE 配置参数来控制 GBase 8s 是否检查客户端应用程序插入的字符数据,该数据是否包含指向队列的代码或当前数据库语言环境不识别。

onconfig.std 值

EILSEQ_COMPAT_MODE 0

0 = GBase 8s 以当前的语言环境验证来到的字符序列是否有效,如果有无效字符则返回错误 -202。

1 = GBase 8s 不验证来到的字符序列是否有效。

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

如果设置 EILSEQ_COMPAT_MODE 配置参数为 0,则仅可将有效的字节序列插入数据库。

EILSEQ_COMPAT_MODE 配置参数在这些情况下防止 202 错误:

  • 当从数据库检索数据时。
  • 当无效字符位于字符串尾部且该字符是部分字符时。

ENABLE_SNAPSHOT_COPY 配置参数

使用 ENABLE_SNAPSHOT_COPY 配置参数来启用或禁用使用 ifxclone 命令来克隆服务器的能力。

onconfig.std 值

0

0 = 禁止克隆

1 = 许可克隆

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

ENABLE_SNAPSHOT_COPY 配置参数确定您能否使用 ifxclone 命令创建服务器的克隆。设置 ENABLE_SNAPSHOT_COPY 配置参数为 1 来允许克隆。设置值为 0 来禁止使用 ifxclone 命令克隆服务器。

如果您在安装期间创建了服务器,则自动地启用 ENABLE_SNAPSHOT_COPY 配置参数。

ENABLE_NULL_STRING 配置参数

使用 ENABLE_NULL_STRING 配置参数来启用或禁用空字符串(’’)查询时是否等同于 NULL 的功能。

onconfig.std 值

ENABLE_NULL_STRING 1

1 = 启用(缺省值),空字符串(仅限于 '')等同于 NULL

0 = 禁用,空字符串(仅限于 '')不等同于 NULL

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

ENABLE_NULL_STRING 配置参数确定在对字符型字段执行 IS NULL 的条件查询时,空字符串(即,'')是否等同于 NULL。缺省设置 ENABLE_NULL_STRING 配置参数为 1 来启用此功能。设置值为 0 来屏蔽此功能。

ENABLE_NULL_STRCAT 配置参数

使用 ENABLE_NULL_STRCAT 配置参数来启用或禁用值为 NULL的字段和字符串进行拼接时等同空字符串的功能。

onconfig.std 值

ENABLE_NULL_STRCAT 1

1 = 启用(缺省值),NULL 等同于空字符串('')。

0 = 禁用,NULL 等同于字符串'NULL'。

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

ENABLE_NULL_STRCAT 配置参数确定在将值为 NULL的列与其它字符串进行拼接时,NULL 是否等同于空字符串(即,'')。缺省设置 ENABLE_NULL_STRCAT 配置参数为 1 来启用此功能。设置值为 0 来屏蔽此功能。

例如,在以下示例中假定表 t1 的 name 字段为 NULL,启用此功能后,执行以下 SELECT 语句返回结果为'abc'。

select 'abc'|| name from t1;

若禁用此功能,则以上查询语句返回结果为'abcNULL'

ENCRYPT_CIPHERS 配置参数

使用 ENCRYPT_CIPHERS 配置参数来定义当前数据库会话可使用的所有密码和方式。ENCRYPT_CIPHERS 仅用于 Enterprise Replication 和高可用性数据复制。

onconfig.std 值

未设置。不使用加密密码。

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

在两个服务器之间在公共密码中随机地选择加密密码和方式。如果发现某个特定密码有弱点,您应使用 allbut 选项重置 ENCRYPT_CIPHERS 配置参数值来消除那个密码。

**重要:**包括所有密码比包括特定的密码更安全。

ENCRYPT_CIPHERS 配置参数的语法

ENCRYPT_CIPHERS 配置参数值的选项

描述
all包括所有可用的密码和方式,除了 ECB 模式之外,该模式被认为有弱点。
例如: ENCRYPT_CIPHERS all
allbut包括所有密码和方式,除了 ECB 罗列的密码和方式之外。
例如:ENCRYPT_CIPHERS allbut:<cbc,bf>
密码列表可包括唯一的、缩写的条目。例如,bf 可表示 bf-1、bf-2 和 bf-3;然而,如果缩写是一个实际密码的名字,则仅消除那个密码。因此,des 仅 消除 des 密码,但 de 消除 des、des3 和 desx 密码。
cipher支持下列密码:
● des = DES(64 位密钥)
● des3 = 三重 DES
● desx = 扩展 DES(128 位密钥)。只支持 cbc 方式。
● aes = AES 128 位密钥
● aes192 = AES 192 位密钥
● bf-1 = Blow Fish(64 位密钥)
● bf-2 = Blow Fish(128 位密钥)
● bf-3 = Blow Fish(192 位密钥)
● aes128 = AES 128 位密钥
● aes256 = AES 256 位密钥
所有方式支持所有密码,除了 desx 密码之外。
mode支持下列模式:
● ecb = 电子密码本(ECB)。只包括指定的情况。
● cbc = 密码分组链接
● cfb = 密码反馈
● ofb = 输出反馈

ENCRYPT_HDR 配置参数

onconfig.std 值

未设置。

0 = 禁用 HAC 加密

1 = 启用 HAC 加密

生效

当初始化服务器时

用法

ENCRYPT_HDR 启用或禁用 HAC 加密。启用 HAC 加密,在 HAC 对内从一台服务器向另一台传输数据时提供了一种安全的方法。HAC 加密连同 Enterprise Replication (ER)加密一同工作。 然而,不必为了 HAC 加密而启用 ER 加密。不论 ER 加密是否启用,HAC 加密都工作。HAC 和 ER 共享同样的加密配置参数:ENCRYPT_CIPHERS、ENCRYPT_MAC、ENCRYPT_MACFILE 和 ENCRYPT_SWITCH。

ENCRYPT_MAC 配置参数

使用 ENCRYPT_MAC 配置参数来控制消息认证代码(MAC)生成的级别。此配置参数仅用于 Enterprise Replication 和高可用性数据复制。

onconfig.std 值

未设置

off = 不使用 MAC 生成

low = 使用 XOR 折换所有消息

medium = 对所有大于 20 字节的消息使用 SHA1 MAC 生成,在较短的消息上使用 XOR 折换

high = 在所有消息上使用 SHA1 MAC 生成。

示例

ENCRYPT_MAC medium,high

生效

对于 HAC:当数据库服务器关闭并从重启时

对于 Enterprise Replication:当启动 Enterprise Replication 时

用法

此级别优先级高于最高值。例如,如果一个节点启用级别 high 和 medium,另一个节点仅启用 low,那么连接尝试失败。仅当确保网络连接安全时,才在服务器之间使用 off 条目。

ENCRYPT_MACFILE 配置参数

使用 ENCRYPT_MACFILE 配置参数来指定一个 MAC 密钥文件的全路径名列表。此配置参数仅用于 Enterprise Replication 和高可用性数据复制。

onconfig.std 值

未设置。

一个或以逗号分隔的多个全路径和文件名,以及可选的 builtin 关键词。例如:

ENCRYPT_MACFILE /usr/local/bin/mac1.dat, /usr/local/bin/mac2.dat,builtin

单位

路径名长度最大为 1536 字节

生效

对于 HAC:当数据库服务器关闭并重启时。

对于 Enterprise Replication:当启动 Enterprise Replication 时。

用法

在连接时刻,ENCRYPT_MACFILE 配置参数确定每一个条目的优先级并协商。由 GenMacKey 命令根据其创建时间确定 MAC 密钥文件的优先级。从 builtin 关键词创建的条目有最低优先级。因为协商 MAC 密钥文件,因此您应定期地更改密钥。

ENCRYPT_SMX 配置参数

使用 ENCRYPT_SMX 配置参数来设置在附属服务器上高可用性配置的加密级别。

onconfig.std 值

未设置。

0 = 关。不加密。

1 = 开。可能的情况下加密。当数据库服务器连接到也支持加密时加密 SMX 事务。

2 = 开。总是加密。仅允许连接到加密的数据库服务器。

生效

编辑 onconfig 文件并重启数据库服务器之后。

ENCRYPT_SWITCH 配置参数

使用 ENCRYPT_SWITCH 配置参数来定义重新协商密码或秘密密钥的频率。此配置参数仅用于 Enterprise Replication 和高可用性数据复制。

秘密密钥和加密密码保持使用的时间越长,加密规则越可能被袭击者打破。为了避免发生这种情况,密码学家建议在长期连接上更改秘密密钥。发生重新协商的缺省时间是一小时一次。

onconfig.std 值

未设置。

以逗号分隔的两个正整数。第一个整数表示两次密码重新协商之间的分钟数。第二个整数表示两次秘密密钥重新协商之间的分钟数。例如:ENCRYPT_SWITCH 2,5。

单位

分钟

生效

对于 HAC:当数据库服务器关闭并重启时

对于 Enterprise Replication:当启动 Enterprise Replication 时

EXPLAIN_STAT 配置参数

使用 EXPLAIN_STAT 配置参数来启用或禁用在解释输出文件中包括“查询统计信息”部分。

您可通过使用 SET EXPLAIN 语句或 onmode -Y sessionid 命令生成输出文件。当您启用 EXPLAIN_STAT 配置参数时,在“查询计划”中“查询统计信息”部分显示预计的行数和返回的实际行数。

onconfig.std 值

EXPLAIN_STAT 1

0 = 禁用在解释输出文件中包含“查询统计信息”部分。

1 = 启用在解释输出文件中包含“查询统计信息”部分。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

EXT_DIRECTIVES 配置参数

onconfig.std 值

EXT_DIRECTIVES 0

0(缺省)= 关。即使 IFX_EXTDIRECTIVES 为开,也不可启用指令。

1 = 开。如果 IFX_EXTDIRECTIVES 为开,则为会话启用指令。

2 = 开。即使 IFX_EXTDIRECTIVES 未设置,也可使用指令。

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

EXT_DIRECTIVES 配置参数启用或禁用外部查询优化器指令的使用。通过与客户端侧 IFX_EXTDIRECTIVES 环境变量组合在一起,使用 EXT_DIRECTIVES 配置参数启用外部指令,如下:

IFX_EXTDIRECTIVES 环境变量的设置取代 EXT_DIRECTIVES 配置参数的设置。如果您不设置 IFX_EXTDIRECTIVES 环境变量,则客户端的所有会话继承数据库服务器处理外部指令的配置。

SQL 的 SET ENVIRONMENT EXTDIRECTIVES 语句指定的设置取代(仅对于当前用户会话)IFX_EXTDIRECTIVES 环境变量和 EXT_DIRECTIVES 配置参数二者的设置。

EXTSHMADD 配置参数

使用 EXTSHMADD 配置参数来指定虚拟扩展段的大小。当用户定义的例程或 DataBlade 例程运行在用户定义的虚拟处理器中时,会添加虚拟扩展段。

onconfig.std 值

EXTSHMADD 8192

32 位操作系统:1024 - 524288

64 位操作系统:1024 - 4294967296

单位

KB

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

当线程运行在用户定义的虚拟处理器中时,创建一个虚拟扩展段。在 onstat -g seg 命令的输出中,虚拟扩展段有一个 VX 类。如果在 onconfig 文件中未设置 EXTSHMADD 配置参数,则由 SHMADD 配置参数的值设置虚拟扩展段的大小。

FAILOVER_CALLBACK 配置参数

onconfig.std 值

未设置

pathname = FAILOVER_CALLBACK 配置参数指定的脚本全路径名。

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

当数据库服务器从辅助服务器向主服务器或标准服务器转换时,数据库服务器执行 FAILOVER_CALLBACK 指定的脚本。FAILOVER_CALLBACK 设置为脚本的全路径名。

FAILOVER_TX_TIMEOUT 配置参数

在高可用性集群环境中,在主服务器故障转移之后,使用 FAILOVER_TX_TIMEOUT 配置参数来启用事务完成。

使用 FAILOVER_TX_TIMEOUT 配置参数来指出在服务器回滚事务之前,服务器等待故障转移之后的最大秒数。在高可用性集群中, 所有服务器上的 FAILOVER_TX_TIMEOUT 配置参数都设置为同一个值。

onconfig.std 值

FAILOVER_TX_TIMEOUT 0

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

当在高可用性集群环境中发生故障转移时,辅助服务器之一取代主服务器的角色。成为新的主服务器的辅助服务器称为故障转移服务器。

通过设置 FAILOVER_TX_TIMEOUT 配置参数为一个大于零的值,启用事务存活。当启动事务存活时,故障转移服务器必须能够联系剩余的辅助服务器来同步并恢复任何打开的事务。类似地,存活的辅助服务器必须能建立到故障转移服务器的连接来重新发送任何挂起的事务。FAILOVER_TX_TIMEOUT 配置参数指定服务器开始回滚事务之前等待的时长。

在故障转移服务器上,如果超过了 FAILOVER_TX_TIMEOUT 指定的秒数,则任何不与存活服务器同步的打开的事务都终止并回滚。

在剩余的辅助服务器上,如果超过了 FAILOVER_TX_TIMEOUT 指定的秒数,则服务器上任何打开的事务都返回错误。

当发生故障转移时,设置 FAILOVER_TX_TIMEOUT 为 0 来立即回滚所有打开的事务。

如果主服务器故障,且辅助服务器未能取代主服务器的角色,那么回滚任何打开的事务,且客户端不能进行更新。例如,如果在辅助服务器上启动更新活动且主服务器故障,那么故障转移过程不完成且不建立新的主服务器,在预定的时间量之后,客户端要求超时,将 sqlexec 线程置于不确定状态。

在上述场景中,回滚活动的事务,但直到建立新主服务器才可发生物理回滚(因为主服务器管理日志)。在这些情况下,会话觉察不到在辅助服务器上执行的操作。会话觉察不到部分应用的事务回滚,因为直到建立新的主服务器才可发生部分事务的回滚。

FASTPOLL 配置参数

使用 FASTPOLL 配置参数来启用或禁用网络的快速轮询。FASTPOLL 是特定于平台的配置参数。

onconfig.std 值

FASTPOLL 1

0 = 禁用快速轮询。

1 = 启用快速轮询。

生效

编辑 onconfig 文件并重启数据库服务器之后。

FILLFACTOR 配置参数

使用 FILLFACTOR 配置参数来指定索引页的充满程度。低值提供索引中的成长空间。高值压缩索引。

如果索引充满(100%),则任何新插入都会导致分裂节点。您还可设置 FILLFACTOR 作为 CREATE INDEX 语句的选项。在 CREATE INDEX 语句上的设置取代 ONCONFIG 文件值。

您不可将 FILLFACTOR 配置参数用于树状索引的森林。

onconfig.std 值

FILLFACTOR 90

1 - 100

单位

百分比

生效

当构建索引时。现有的索引不更改。要使用新值,就必须重新构建索引。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

FULL_DISK_INIT 配置参数

使用 FULL_DISK_INIT 配置参数来防止发生现有数据库服务器实例的意外磁盘重新初始化。 当在 root 路径位置上存在页零时,该位置在第一个 chunk 位置的第一页,此配置参数指定在 GBase 8s 实例上可否运行磁盘初始化命令(oninit -i)。

onconfig.std 值

FULL_DISK_INIT 0

0 = 仅当在 root 路径位置上没有页零时,才运行 oninit -i 命令。

1 = 在所有情况下都运行 oninit -i 命令,但也在磁盘初始化之后重置 FULL_DISK_INIT 配置参数为 0。

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

当 FULL_DISK_INIT 配置参数设置为 1时,任何实例启动命令(例如,oninit 以及 oninit -i)都重置该配置参数为 0。

当 FULL_DISK_INIT 配置参数设置为 0 且数据库服务器发现页零时,如果您开始运行 oninit -i 命令,则 oninit -i 命令不运行且服务器在 online.log 中报告错误。

页零是 GBase 8s 系统页,包含关于服务器实例的通用信息。当服务器实例初始化时,创建此页。

GSKIT_VERSION 配置参数

使用 GSKIT_VERSION 配置参数来指定 GBase Global Security Kit (GSKit) 的主版本,数据库服务器使用该版本来加密和 SSL 通信。

onconfig.std 值

未设置。随着 GBase 8s 安装使用的 GSKit 版本。

GSKit 版本是运行在 7 与最新主发布号(当前为 15)之间的完整数目。

单位

正整数

生效

数据库初始化期间

如果在同一台计算机上数据库服务器与其他 GBase 产品一起使用,且随同其他 GBase 产品安装了不同的 GSKit 版本,则可使用不同 GSKit 版本配置数据库服务器。

HA_ALIAS 配置参数

使用可选的 HA_ALIAS 配置参数来指定高可用性集群节点的替代别名。

onconfig.std 值

未设置。

HA_ALIAS 配置参数的值必须是 sqlhosts 文件中 dbservername 条目指定的值之一。网络别名必须有 TCP 网络协议的连接类型。如果 dbservername 值包括监听线程的可选数据,则从 HA_ALIAS 忽略可选监听线程值。例如,如果 servername 列 设置为 reynolds-4,则 HA_ALIAS 设置为 reynolds。

生效

编辑 onconfig 文件并重启数据库服务器之后。

对于高可用性集群中的主服务器,通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值。此方法对高可用性集群中的辅助服务器不起作用。

对于高可用性集群中的主服务器,通过运行 onmode -wm 命令重置内存中的该值。此方法对高可用性集群中的辅助服务器不起作用。

用法

HA_ALIAS 配置参数是一个定义辅助服务器网络别名的可选参数。当您在 onmode -d 命令中指定辅助服务器时,使用通过 HA_ALIAS 配置参数指定的网络别名。

如果高可用性集群中的主服务器故障,则连接管理器找到一台辅助服务器并晋升为主服务器。如果设置了辅助服务器的 HA_ALIAS 配置参数,则使用 HA_ALIAS 网络别名来标识新的主服务器。

当设置了数据库服务器的 HA_ALIAS 配置参数时,所有与高可用性集群有关的服务器到服务器通信都通过该指定的网络别名发生。

HA_FOC_ORDER 配置参数

使用 HA_FOC_ORDER 配置参数来为服务器的高可用性集群定义单一的连接管理故障转移规则。

onconfig.std 值

HA_FOC_ORDER SDS,HDR,RSS

辅助服务器类型的列表,以逗号分隔并按优先级顺序罗列。例如,缺省值 SDS,HDR,RSS 表示主服务器故障转移到 SSC 辅助服务器,然后是 HAC 辅助服务器,再然后是 RHAC 辅助服务器。

  • HDR = 高可用性数据复制服务器
  • RSS = 远程独立辅助服务器
  • SDS = 共享磁盘辅助服务器

MANUAL = 对集群中所有连接管理器禁用自动故障转移。

分隔符

以逗号分隔值。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

运行带有 -wf HA_FOC_ORDER=value 或 -wm HA_FOC_ORDER=value 参数的 SQL 管理 API task() 或 admin() 函数之后。

用法

如果在高可用性集群的主数据库服务器上设置 HA_FOC_ORDER 配置参数,则连接到该主服务器的每一个连接管理器都采用该设置。该值取代连接单元的 ORDER=rule 故障转移序列规则。然后,高可用性集群中的每一数据库服务器采用主服务器的 HA_FOC_ORDER 配置参数值作为自己的 HA_FOC_ORDER 配置参数。

如果主服务器上的 HA_FOC_ORDER 配置参数设置为 MANUAL。则在管理主服务器的集群的所有连接管理器上禁用自动故障转移。

如果连接管理器的配置文件中连接单元的 FOC ORDER 值设置为 DISABLED,则连接管理器不对那个连接单元执行故障转移。

HA_FOC_ORDER 配置参数的语法

示例

在下列示例中,您配置两个连接管理器来管理一个三服务器的集群。

三台服务器是:

  • server_1(主服务器)
  • server_2(SSC 辅助服务器)
  • server_3(HAC 辅助服务器)

第一个连接管理器有下列配置文件:

NAME connection_manger_1

CLUSTER cluster_1
{
SERVERNUM servers_1
SLA sla_1 DBSERVERS=ANY
FOC ORDER=ENABLED \
PRIORITY=1
}

第二个连接管理器有下列配置文件:

NAME connection_manger_2

CLUSTER cluster_1
{
SERVERNUM servers_1
SLA sla_2 DBSERVERS=ANY
FOC ORDER=ENABLED \
PRIORITY=2
}

server_1 的 onconfig 文件有下列值:

HA_FOC_ORDER SDS,HDR
当 connection_manger_1 和 connection_manger_2 与 server_1 连接时,其配置成为:
NAME connection_manger_1

CLUSTER cluster_1
{
SERVERNUM servers_1
SLA sla_1 DBSERVERS=ANY
FOC ORDER=SDS,HDR \
PRIORITY=1
}
NAME connection_manger_2

CLUSTER cluster_1
{
SERVERNUM servers_1
SLA sla_2 DBSERVERS=ANY
FOC ORDER=SDS,HDR \
PRIORITY=2
}

在 server_2 和 server_3 的 onconfig 文件中,HA_FOC_ORDER 条目的值更新为 SDS,HDR。

HDR_TXN_SCOPE 配置参数

HDR_TXN_SCOPE 配置参数与 DRINTERVAL 配置参数一起使用,来指定在高可用性集群中 HAC 复制的同步模式。

onconfig.std 值

HDR_TXN_SCOPE NEAR_SYNC

FULL_SYNC = 如果完全同步,则 HAC 复制。在事务可完成之前,事务需要 HAC 辅助服务器上完成确认。

NEAR_SYNC = 如果几乎同步,则 HAC 复制。在事务可完成之前,事务需要在 HAC 辅助服务器上收到确认。如果同无缓冲日志记录一起使用,SYNC 模式,则当 DRINTERVAL 设置为 -1 时打开,与几乎同步模式相同。

ASYNC = 如果完全异步,则 HAC 复制。在事务可完成之前,事务不需要在 HAC 辅助服务器上收到或完成确认。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

运行带有 "onmode","-wf HDR_TXN_SCOPE=value" 或 "onmode","-wm HDR_TXN_SCOPE=value" 参数的 SQL 管理 API task() 或 admin() 函数之后。

用法

当 DRINTERVAL 配置参数设置为 0 时,HDR_TXN_SCOPE 参数的值确定 HAC 复制的同步模式。

如果使用无缓冲日志记录,则 HAC SYNC 模式与几乎同步模式相同,通过 HDR_TXN_SCOPE 配置参数设置。

DRINTERVAL、HDR_TXN_SCOPE 和日志记录设置及其 HAC 复制模式结果的矩阵如下。

DRINTERVALHDR_TXN_SCOPE日志记录结果
-1有缓冲的异步复制
-1无缓冲的几乎同步复制
0FULL_SYNC有缓冲的完全同步复制
0FULL_SYNC无缓冲的完全同步复制
0ASYNC有缓冲的异步复制
0ASYNC无缓冲的异步复制
0NEAR_SYNC有缓冲的几乎同步复制
0NEAR_SYNC无缓冲的几乎同步复制
正整数有缓冲的异步复制
正整数无缓冲的异步复制

HETERO_COMMIT 配置参数

onconfig.std 值

HETERO_COMMIT 0

1 = 启用异类提交。

0 = 禁用异类提交。

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

HETERO_COMMIT 配置参数指定在异类提交事务中数据库服务器是否准备与 GBase 8s Gateway 产品配合。设置 HETERO_COMMIT 为 1 允许单一事务来更新一个非 GBase 8s 数据库(与任何 Gateway 产品一起访问)和一个或多个 GBase 8s 数据库。

如果 HETERO_COMMIT 是 0,则单个事务可更新下列数据库:

  • 一个或多个 GBase 8s 数据库,且没有非 GBase 8s 数据库
  • 一个非 GBase 8s 数据库,且没有 GBase 8s 数据库

您可从任何数目的 GBase 8s 和非 GBase 8s 数据库读取数据,不管 HETERO_COMMIT的设置。

IFX_EXTEND_ROLE 配置参数

您的数据库系统管理员(DBSA),缺省为用户 gbasedbt,可使用 IFX_EXTEND_ROLE 参数来控制授权哪些用户注册 DataBlade 模块或外部用户定义的例程(UDR)。

onconfig.std 值

IFX_EXTEND_ROLE 1

1 或 On (缺省)= 启用 EXTEND 角色的要求,以便管理员可授予用户权限来创建或删除包括 EXTERNAL 子句的 UDR。

0 或 Off = 禁用 EXTEND 角色的要求,以便任何拥有适当外部语言(C 或 JAVA)USAGE ON LANGUAGE 权限的用户可注册或删除用那种语言编写的外部例程。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

IFX_FOLDVIEW 配置参数

使用 IFX_FOLDVIEW 配置参数来启用或禁用视图折换。对于某些查询中涉及视图的情况,视图折换可显著提高查询性能。在这些情况下,视图折换成父查询,而不是将查询结果放到临时表中。

onconfig.std 值

IFX_FOLDVIEW 1

0 或 Off = 禁用视图折换。

1 或 On = 缺省。启用视图折换。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

下列查询类型可利用视图折换:

  • 包含 UNION ALL 且父查询有常规连接、GBase 8s 连接、ANSI 连接或 ORDER BY 子句的视图

对于下列执行涉及视图的 UNION ALL 操作的查询类型,创建临时表且不执行视图折换:

  • 视图有下列子句之一:AGGREGATE、GROUP BY、ORDER BY、UNION、DISTINCT 或 OUTER JOIN(要么 GBase 8s 类型,要么 ANSI 类型)。
  • 父查询有 UNION 或 UNION ALL 子句。

IFX_XA_UNIQUEXID_IN_DATABASE 配置参数

使用 IFX_XA_UNIQUEXID_IN_DATABASE 配置参数来启用事务管理器,在相同的数据库服务器实例中使用相同的 XID 来表示不同数据库上的全局事务。

onconfig.std 值

None

缺省值

0

0 = 禁用

1 = 启用

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

XID 是分布式 XA 事务的一个全局事务 ID。

如果设置 IFX_XA_UNIQUEXID_IN_DATABASE 配置参数为 1,则数据库服务器允许事务管理器在相同的数据库服务器实例中使用相同的 XID 来表示不同数据库上的全局事务。因此,数据库可是域而不是服务器。

GBASEDBTCONRETRY 配置参数

使用 GBASEDBTCONRETRY 配置参数来指定在初次连接尝试失败后,可对每一数据库服务器进行连接尝试的最大数目。进行这些尝试限定在 GBASEDBTCONTIME 配置参数指定的时间之内。

onconfig.std 值

GBASEDBTCONRETRY 1

正整数

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

GBASEDBTCONTIME 设置优先于 GBASEDBTCONRETRY 设置。超过 GBASEDBTCONTIME 值之后,但在达到 GBASEDBTCONRETRY 值之前,连接尝试可终止。

要取代当前会话的 GBASEDBTCONRETRY 配置参数的值,您可或者设置 SET ENVIRONMENT 语句的 GBASEDBTCONRETRY 环境选项,或者设置客户端的 GBASEDBTCONRETRY 环境变量。

GBASEDBTCONTIME 配置参数

使用 GBASEDBTCONTIME 配置参数来指定 CONNECT 语句尝试建立到数据库服务器连接的秒数。

onconfig.std 值

GBASEDBTCONTIME 60

正整数

单位

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

要设置 GBASEDBTCONTIME 配置参数的最佳值,请考虑节点间的总距离、硬件速度、流量以及网络的并发级别。

GBASEDBTCONTIME 值除以 GBASEDBTCONRETRY 值的结果决定连接尝试之间的秒数。如果设置 GBASEDBTCONTIME 配置参数为零,则数据库服务器使用 60 秒的缺省值。

要取代当前会话的 GBASEDBTCONTIME 配置参数的值,您可设置 SET ENVIRONMENT 语句的 GBASEDBTCONTIME 环境选项,也可设置客户端的 GBASEDBTCONTIME 环境变量。

LIMITNUMSESSIONS 配置参数

使用 LIMITNUMSESSIONS 配置参数来定义要连接到 GBase 8s 的会话的最大数目。

如果指定一个最大数目,则你还可指定当会话数达到最大数目时,是否要 GBase 8s 打印消息到 online.log 文件。

如果启用 LIMITNUMSESSIONS 配置参数,且由于此限制导致会话受限,连接到任何数据库的常规用户线程和 DBSA 用户线程都要计入此限制。然而,即使已经达到此限制,仍然允许 DBSA 用户连接到数据库。

针对服务器的分布式查询也计入此限制。

不要打算使用 LIMITNUMSESSIONS 配置参数作为遵守许可协议的一种方法。

onconfig.std 值

未在 onconfig.std 文件中设置

maximum_number_of_sessions = 0 到 2,097,152(2*1024*1024)。缺省是 0。

print_warning = 0(关)或 1(开)。此可选的缺省值是 0。

分隔符

逗号

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

如果 print_warning 设置为 1,则当会话数目大于或等于 maximum_number_of_sessions 值的 95% 时,触发警告。如 果 print_warning 设置为零,或未设置,则不发出警告。达到 maximum_number_of_sessions 限制之后,不可打开新的用户会话。

如果 LIMITNUMSESSIONS 配置参数的 maximum_number_of_sessions 值设置为 0,或未设置,则不限制可连接到数据库的会话数。

下列示例指定您想要最多 100 个会话连接到服务器,且当连接的会话数接近 100 时,打印警告消息。

LIMITNUMSESSIONS 100,1

此示例中的设置导致当并发的连接多于 94 个时,打印警告。仅 DBSA 组成员可在已有 100 个会话连接时启动新的会话。

使用 onmode -wf 或 onmode -wm,或者对等的 SQL 管理 API ONMODE 命令,来动态地增加或临时地禁用 LIMITNUMSESSIONS 设置。 如果数据库服务器达到 maximum_number_of_sessions ,则使用此配置参数来允许运行管理性命令。

LISTEN_TIMEOUT 配置参数

使用 LISTEN_TIMEOUT 配置参数来指定服务器等待连接的秒数。

onconfig.std 值

LISTEN_TIMEOUT 60

单位

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

您可设置 LISTEN_TIMEOUT 为一个较低数目来防止那些可能指出“服务拒绝”袭击的错误连接要求。

依赖于机器保持线程(数目)的能力,您可配置 MAX_INCOMPLETE_CONNECTIONS 为一个较高值,依赖于网络流量,您可设置 LISTEN_TIMEOUT 为一个较低值来减少袭击达到上限的可能性。

LOCKS 配置参数

LOCKS 配置参数指定锁表的初始大小。

锁表为每个锁保留一个条目。如果分配的锁数目超过 LOCKS 配置参数的值,则数据库服务器增加锁表的大小。锁表最多可增加 99 次。

onconfig.std 值

LOCKS 20000

对于 32 位数据库服务器,2,000 至 8,000,000;对于 64 位数据库服务器,2,000 至 500,000,000

单位

内部锁表中锁的数目

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

通过尝试每次增加锁表一倍,数据库服务器增加锁表的大小。然而,每次增加期间添加的数量受最大值限制。对于 32 位平台,每次增加可最多添加 100,000 个锁。因此,对于 32 位平台,最多锁数合计是 8,000,000 (启动锁的最大数目)+ (99(动态锁表扩展的最大数目)x 100,000(每个锁表扩展添加的锁的最大数目))。对于 64 位平台,每次增加可最多添加 1,000,000 个锁。因此,允许的最多锁数合计是 500,000,000(启动锁的最大数目)+(99(动态锁表扩展的最大数目)x 1,000,000(每个锁表扩展添加的锁的最大数目))。

随着初始锁表存储在常驻内存中,而每个附加锁存储在虚拟内存中,如果你有数量有限的共享内存,则锁资源可变得枯竭。单个锁占据的存储数量依赖于字大小和操作系统,且易更改。当前,存储的数量范围从大约 100 字节至 200 字节。通过以 LOCKS 配置参数的一个不同值(未做其他更改)重启服务器,您可看到为支持附加锁而需要的存储数量。通过常驻池的“onstat -g mem”,观察使用的内存的增加情况。

默认情况下,GBase 8s 在安装时会自动根据当前内存大小设置 LOCKS 值。计算算法如下:

LOCKS = memorybase *100000+100000

其中 memorybase =总内存大小/950000。如果计算结果 < 1,则 memorybase = 1

如果 LOCKS 值的计算结果大于 20000000 则,将其取值为 20000000。

提示: 当您删除数据库时,需要一个锁并在数据库中的每个表上保持,直到删除了数据库。

LOGBUFF 配置参数

使用 LOGBUFF 配置参数来指定共享内存中三个逻辑日志缓冲区的 KB 大小。

onconfig.std 值

LOGBUFF 64

单位

KB

从 32 至(32767 * pagesize / 1024)的整数,此处 pagesize 是缺省系统页大小。该值必须被缺省系统页大小均分。 如果该值未被页大小均分,则数据库服务器将大小向下取整为最接近于被页大小均分的那个值。

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

在其他缓冲区之一清空到磁盘时,三个逻辑日志缓冲区允许用户线程写到活动的缓冲区。如果到活动的缓冲区充满的时候清空仍未完成,则用户线程开始写到第三个缓冲区。

如果启用 RTO_SERVER_RESTART 配置参数,则设置 LOGBUFF 配置参数的值为 256 KB。如果 LOGBUFF 配置参数的值小于 256 KB,则当您重启服务器时显示警告消息。

否则,对于标准工作负载,设置 LOGBUFF 配置参数值为 32 KB;对于重工作负载,设置为 64 KB。数据库服务器使用 LOGBUFF 参数来设置恢复期间使用的内部缓冲区的大小。如果您设置 LOGBUFF 过高,则在恢复期间数据库服务器可用光内存并关闭。

如果您将用户数据日志记录在智能大对象中,则增加日志缓冲区大小以使系统更为高效。数据库服务器仅对更改的智能大对象页的部分做日志记录。

通过运行 onstat -l 命令,您可查看关于逻辑日志缓冲区的信息。

LOGFILES 配置参数

使用 LOGFILES 配置参数来指定在磁盘初始化期间数据库服务器创建的逻辑日志文件的数目。

onconfig.std 值

LOGFILES 6

3 - 32,767(仅整数)

单位

逻辑日志文件的数目

生效

磁盘初始化期间且当您添加新的日志文件时。您使用 onparms 命令之一添加一个新日志。

用法

要更改逻辑日志文件的数目,请添加或删除逻辑日志文件。

如果您使用 onparams 来添加或删除日志文件,则数据库服务器自动地更新 LOGFILES。

LOG_INDEX_BUILDS 配置参数

使用 LOG_INDEX_BUILDS 配置参数来启用或禁用索引页日志记录。

onconfig.std 值

未设置

0 = 禁用

1 = 启用

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

如果启用 LOG_INDEX_BUILDS,则会依赖于索引的大小,增加逻辑日志文件空间的消耗。这会导致更频繁地要求备份逻辑日志文件。当索引页日志记录状态更改时,消息写到 online.log 文件。

**RHAC 辅助服务器的提示:**使用 onmode -wm 仅启用或禁用当前会话的索引页日志记录,不影响 onconfig 文件中的设置。如果服务器停止并重启, 则 onconfig 文件中的设置决定是否启用索引页日志记录。因此当使用 RHAC 辅助服务器时,不建议使用 onmode -wm 启用索引页日志记录;相反, 使用 onmode -wf 来更新 onconfig 文件,以便在重启服务器之后启用索引页日志记录。当使用 RHAC 辅助服务器时,需要索引页日志记录。

LOG_STAGING_DIR 配置参数

使用 LOG_STAGING_DIR 配置参数来指定当在 RHAC 辅助服务器上配置延迟的日志文件应用时,从主服务器收到的日志文件的位置。

onconfig.std 值

未设置。

值(第一个参数)

任何有效的安全目录。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

LOG_STAGING_DIR 配置参数指定目录,在下列情况下,从主服务器发送的日志文件存储在此:

  • 在一台 RHAC 辅助服务器上设置 DELAY_APPLY 配置参数来延迟日志的应用
  • 在一台 RHAC 辅助服务器上设置 STOP_APPLY 配置参数来停止日志的应用
  • 一台 RHAC 辅助服务器必须临时地缓冲日志
  • 在 HAC 服务器上设置 LOG_INDEX_BUILDS 参数,且 HAC 辅助服务器正在处理检查点

通过存储来自 RHAC 辅助服务器的数据,延迟日志文件的应用允许您快速地从错误数据库修改恢复。

LOG_STAGING_DIR 配置参数指定的目录必须是安全的。此目录必须为用户 gbasedbt 所拥有,必须属于组 gbasedbt,且必须没有公共读、写或执行权限。

此目录应有足够的空间来保持 GBase 8s staged 所有逻辑日志。请在主服务器上选择一个至少能存储逻辑日志总计大小两倍的目录。要估算存储大小,请将 LOGBUFF 配置参数的值与 LOGFILES 配置参数的值相乘,然后再加倍。

要看到关于送到为 RHAC 辅助服务器设置的日志 staging 目录的数据信息,请在 RHAC 辅助服务器上运行 onstat -g rss verbose 命令。

如果写到 staging 文件失败,则 RHAC 辅助服务器发出事件报警 40007。

LOGSIZE 配置参数

当创建逻辑日志文件时,使用 LOGSIZE 配置参数来指定使用的文件大小。

onconfig.std 值

LOGSIZE 10000

单位

KB

整数值。

最小值 = 200

当数据库服务器首次初始化时,最大值 = (ROOTSIZE - PHYSFILE - 512 - (63 * pagesize/1024)) / LOGFILES

pagesize 值是操作系统的缺省系统页大小。

如果您扩展 root dbspace 或将逻辑日志移到一个不同的 dbspace,则逻辑日志文件大小的最大值不能超过下列与页大小相依的值:

  • 1 GB,当页大小 = 2 KB
  • 2 GB,当页大小 = 4 KB

此限制是日志位置可以为那些页大小描述的页的最大数目。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

当您更改 LOGSIZE 配置参数的值时,仅影响新的日志文件。现有的日志文件的大小不更改。逻辑日志大小的合计是 LOGSIZE 配置参数设置与 LOGFILES 配置参数值的乘积。然而,如果您更改 LOGSIZE 配置参数的值,则所有逻辑日志文件的大小合计依赖于每个大小的日志文件的数目。

如果启用 AUTO_LLOG 配置参数,则根据需要自动地添加逻辑日志文件来提高性能,直到逻辑日志大小合计达到可配置最大值。

要验证您的平台上数据库服务器的页大小,请运行 onstat -b 命令。

如果您声明一个智能大对象列的日志记录,则您必须确保此逻辑日志比插入或更新期间日志记录的数据量大许多。数据库服务器不可备份打开的事务。如果许多事务是活动的,则合计日志记录活动必须不强制打开的事务到日志备份文件。例如,如果您的日志大小是 1000 KB 且高水印是 60%,则不为智能大对象更新使用多于 600 KB 逻辑日志。当达到高水印 600 KB 时,数据库服务器启动回滚事务。

LOW_MEMORY_MGR 配置参数

使用 LOW_MEMORY_MGR 配置参数来启用自动低内存管理,当达到内存限制时,您可用来更改主服务器或标准服务器的缺省行为。

onconfig.std 值

LOW_MEMORY_MGR 0

1 = 当数据库服务器启动时,启用自动低内存管理。

0 = 禁用自动低内存管理。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

用法

如果您配置主服务器或标准服务器来使用 SHMTOTAL 配置参数值的一个百分率,该值用做自动低内存管理启动和停止阈值,则 SHMTOTAL 配置参数必须设置为一个正整数值。

注意

更改 SHMTOTAL 配置参数的值可导致自动低内存管理的配置变得无效,强制数据库服务器使用缺省设置。

要启用自动低内存管理,请指定:

LOW_MEMORY_MGR 1

LOW_MEMORY_RESERVE 配置参数

当关键活动需要而服务器的空闲内存有限时,使用 LOW_MEMORY_RESERVE 配置参数来保留使用特定的内存量。

如果您通过将其设定为一个特定的 KB 值来启用新的 LOW_MEMORY_RESERVE 配置参数,则即使您收到内存用尽的警告,诸如回滚活动这样的关键活动仍可完成。

onconfig.std 值

LOW_MEMORY_RESERVE 0

0 或 128 - 2147483648,虽然最大值不可高于 SHMVIRTSIZE 配置参数值的 20%

单位

KB

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

不管如何设置 LOW_MEMORY_RESERVE 配置参数,保留的内存大小最大值是 SHMVIRTSIZE 配置参数值的 20%。

例如,要保留 512 KB 内存,请指定:

LOW_MEMORY_RESERVE 512

您可使用 onstat -g seg 命令来查看低内存保留信息。输出包括若干行,显示保留的内存大小、服务器已经使用的保留内存次数和需要的最大内存。

LTAPEBLK 配置参数

用于逻辑日志备份的磁带的块大小(以千字节为单位)。

LTAPEDEV 配置参数

逻辑日志磁带设备或文件系统目录。

在云环境中备份或恢复时,将以下语法用于 LTAPEDEV 配置参数:

LTAPEDEV 'local_path, keep=option, cloud=cloud_vendor, url=url'
  • local_path 是将日志备份对象临时存储在的目录的完整路径名。
  • option 可以设置为 yes 或 no。如果 keep 设置为 yes,那么 ontape 命令将备份对象保留在本地目录中。如果 keep 设置为 no,那么在云存储位置中传输备份对象后,会将这些对象删除。
  • cloud_vendor 是云存储供应商的名称。
  • url 是将日志备份数据永久存储在的云存储位置。

LTAPESIZE 配置参数

用于逻辑日志备份的磁带的大小(以千字节为单位)。值可以为 0 - 2,097,151。

LTXEHWM 配置参数

使用 LTXEHWM 配置参数来指定长事务、排他访问、高水印。当逻辑日志空间达到 LTXEHWM 阈值时,当前正在回滚的长事务获准排他访问逻辑日志。

onconfig.std 值

LTXEHWM 80

如未出现

90(如果 DYNAMIC_LOGS 设置为 1 或 2)60(如果 DYNAMIC_LOGS 设置为 0)

值域

LTXHWM 至 100

单位

百分比

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

如果当事务达到长事务高水印时,事务不提交或回滚,则这个事务是长事务。

如果在回滚完成前耗尽您的系统长空间,则请降低 LTXEHWM 值。

如果您不想添加过多的逻辑日志,则应将 LTXEHWM 设置为一个较小值(大约 60)。如果关闭动态日志记录(DYNAMIC_LOGS = 0),则应将 LTXEHWM 设置更低(大约 50)来避免耗尽逻辑空间。

提示

要允许用户继续访问逻辑日志,即使在长事务回滚期间,请设置 LTXEHWM 为 100。设置 DYNAMIC_LOGS 为 1 或 2 以便数据库服务器可添加足够数目的日志文件,来防止长事务挂起并允许长事务回滚。

LTXHWM 配置参数

使用 LTXHWM 配置参数来指定长事务高水印。长事务高水印是可用的日志空间百分率,当填满时,触发数据库服务器来检查长事务。

onconfig.std 值

LTXHWM 70

如未出现

80(如果 DYNAMIC_LOGS 设置为 1 或 2)50(如果 DYNAMIC_LOGS 设置为 0)

1 - 100

单位

百分比

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

当逻辑日志空间达到 LTXHWM 阈值时,数据库服务器启动回滚事务。如果您降低 LTXHWM 值,则增加日志文件的大小或数目来减少回滚的可能性。

如果 DYNAMIC_LOGS 设置为 1 或 2,则当有长事务时,数据库服务器可添加足够数目的日志文件来完成事务或防止回滚挂起。

如果您不想添加过多的逻辑日志,则应将 LTXHWM 设置为一个较小值(大约 60)。如果关闭动态日志记录(DYNAMIC_LOGS = 0),则应将 LTXHWM 设置更低(大约 50)来避免逻辑空间耗尽。

警告

如果您将 LTXHWM 和 LTXEHWM 都设置为 100,则从不终止长事务。虽然您可为了对自己有利而使用此配置,但是对于正常的数据库服务器操作,您应将 LTXHWM 设置低于 100。

如果您设置 LTXHWM 为 100,则数据库服务器发出警告消息:

LTXHWM is set to 100%. This long transaction high water mark will never be reached. Transactions will not be aborted automatically by the server, regardless of their length.

如果事务挂起,则请遵循 GBase 8s 管理员指南中关于管理逻辑日志文件的章节指导,从长事务挂起恢复。

MAX_FILL_DATA_PAGES 配置参数

onconfig.std 值

MAX_FILL_DATA_PAGES 0

0 或 1

单位

整数

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

设置 MAX_FILL_DATA_PAGES 值为 1 来允许在有变长行的表中每页插入更多的行。该设置可减少磁盘空间,更有效地利用缓冲池,减少表扫描次数。

如果启用 MAX_FILL_DATA_PAGES,则服务器将添加一个新行到最近更改的带着现有行的页,如果添加该行留下了至少 10% 的空闲页用于在此页中所有行的未来扩展。如果未设置 MAX_FILL_DATA_PAGES,则服务器仅当页上有足够空间时才添加行,来允许新行增长到其最大长度。

启用 MAX_FILL_DATA_PAGES 并允许每页更多的变长行可能带来问题,就是服务器会以不同的物理顺序存储这些行。而且,当页填满时,对一行中可变长列的更新可能导致行扩展,以致于在页上不再完全适合。这导致服务器将该行分裂到两个页上,增加该行的访问时间。

要利用这个设置,随着进一步插入,必须重新加载带可变长行的现有的表或必须更改现有的页。

MAX_INCOMPLETE_CONNECTIONS 配置参数

使用 MAX_INCOMPLETE_CONNECTIONS 配置参数来指定一个会话中未完成连接的最大数目。

onconfig.std 值

MAX_INCOMPLETE_CONNECTIONS 1024

单位

未完成连接的数目

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

达到 MAX_INCOMPLETE_CONNECTIONS 配置参数中指定的数目之后,在 online 消息中写入错误消息,说明服务器可能受到“拒绝服务”袭击。依赖于机器保持线程(数目)的能力,您可配置 MAX_INCOMPLETE_CONNECTIONS 为一个较高值。依赖于网络流量,您还可设置 LISTEN_TIMEOUT 配置参数为一个较低值来降低袭击可达到最大限制的可能性,该参数指定服务器等待连接的秒数。

MAX_PDQPRIORITY 配置参数

使用 MAX_PDQPRIORITY 配置参数来限制 PDQ 资源,数据库服务器可将这些资源分配给任一 DSS 查询。

onconfig.std 值

MAX_PDQPRIORITY 100

0 = 关闭 PDQ。DSS 查询不使用并行性。

1 = 从分片表并行取回数据(并行扫描),但不使用其他形式的并行性。

2 - 100 = 设置实际地分配给该查询的用户要求的 PDQ 资源百分率。100 使用所有可用资源来并行处理查询。

生效

在所有用户会话上,编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

MAX_PDQPRIORITY 是用来衡量用户设置的 PDQ 优先权的一个因素。例如,假定数据库管理员设置 MAX_PDQPRIORITY 为 80。如果一个用户设置 PDQPRIORITY 环境变量 为 50 然后发出一个查询,则数据库服务器自动地以 PDQ 优先权 40 处理该查询。

在数据库服务器 online 时,您可使用 onmode 命令来更改 MAX_PDQPRIORITY 的值。

在 GBase 8s 中,PDQ 资源包括内存、CPU、磁盘 I/O 和扫描线程。MAX_PDQPRIORITY 让数据库管理员与 OLTP 并发地运行决策支持,未影响 OLTP 性能。 然而,如果 MAX_PDQPRIORITY 过低,可降低决策支持查询的性能。

MIRROR 配置参数

onconfig.std 值

MIRROR 0

0 = 禁用镜像

1 = 启用镜像

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

MIRROR 参数指明是否启用数据库服务器的镜像。推荐您镜像 root dbspace 和作为初始化部分的关键数据。否则,禁用镜像。如果您后来决定添加镜像,则可编辑配置文件来更改该参数值。

在高可用性数据复制对中的两台数据库服务器上,您不必设置 MIRROR 配置参数为同样的值。在主数据库服务器或辅助数据库服务器上,您可任意地启用或禁用镜像。请不要设置 MIRROR 配置参数为 1,除非您正在使用镜像。

MIRROROFFSET 配置参数

在 GBase 8s 中,为达到作为 root dbspace 的初始 chunk 镜像的 chunk,MIRROROFFSET 指定磁盘分区中的偏移量或设备中的偏移量。

onconfig.std 值

MIRROROFFSET 0

大于或等于 0 的任意值

单位

KB

生效

编辑 onconfig 文件并重启数据库服务器之后。

MIRRORPATH 配置参数

使用 MIRRORPATH 配置参数来为 root dbspace 的初始 chunk 指定镜像 chunk 的全路径名。

onconfig.std 值

UNIX™ 上:$GBASEDBTDIR/tmp/demo_on.root_mirror

65 个或更少字符

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

MIRRORPATH 应为一个指向实际镜像 chunk 的 chunk 路径名的链接,由于相同的原因,指定 ROOTPATH 为一个链接。类似地,选取镜像 chunk 的一个短路径名。

您必须设置 MIRRORPATH 指定的那个文件的权限为 660。所有者和组都必须是 gbasedbt。

如果您在 UNIX 平台上使用镜像 chunk 的原始磁盘空间,则推荐您定义 MIRRORPATH 为链接到镜像 dbspace 的初始 chunk 的一个链接,而不要输入初始 chunk 的实际设备名称。

要在数据库服务器上启动镜像数据,而该服务器没有运行启用的镜像功能,请:

  1. 将数据库服务器 offline。
  2. 更改 MIRROR 配置参数为 1 并将 MIRRORPATH 配置参数置空。
  3. 将数据库服务器 online。
  4. 为镜像 chunk 分配磁盘空间。您可在任何时间分配此磁盘空间,然而,当您在下一步骤中指定镜像 chunk 时,该磁盘空间必须可用。镜像 chunk 必须与对应的主 chunk 位于不同的磁盘上。
  5. 指定 onspaces -m 选项来启动 dbspace、blobspace 或 sbspace 的镜像。您必须从 root dbspace 开始。成功地运行 root dbspace 命令之后,服务器自动地设置 MIRRORPATH 值。

MSG_DATE 配置参数

使用 MSG_DATE 配置参数来启用在打印到 online 日志的每一消息的开头插入 MM/DD/YY 格式的日期。

onconfig.std 值

不在 onconfig.std 文件中。

0 = OFF(缺省)

1 = ON

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

在下列示例中, MSG_DATE 设置为 1(ON)。

04/10/11 10:26:06 MSG_DATE 值已修改为 1
04/10/11 10:27:35 MSG_DATE 值已修改为 1

MSGPATH 配置参数

使用 MSGPATH 配置参数来指定消息日志文件的全路径名。在操作期间,数据库服务器将状态消息和诊断消息写到这个文件。

onconfig.std 值

UNIX™ 上:$GBASEDBTDIR/tmp/online.log

server_name 是程序组中的服务器名称。

online.log 文件的路径名。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

如果 MSGPATH 指定的文件不存在,则数据库服务器在特定目录中创建该文件。如果 MSGPATH 指定的目录不存在,则数据库向系统控制台发送消息。

如果 MSGPATH 指定的文件确实存在,则数据库服务器打开它并当消息发生时追加消息到这个文件。

MULTIPROCESSOR 配置参数

使用 MULTIPROCESSOR 配置参数来指定数据库服务器是否以一种适合于单处理器计算机或多处理器计算机的方式执行锁定。

如果 MULTIPROCESSOR 设置为 0,则忽略设置处理器 GBase 8s affinity 的参数。

onconfig.std 值

MULTIPROCESSOR 0

0 = 无多处理器

1 = 多处理器可用

生效

编辑 onconfig 文件并重启数据库服务器之后。

NET_IO_TIMEOUT_ALARM 配置参数

如果网络写操作被阻塞达 30 分钟或更多,则使用 NET_IO_TIMEOUT_ALARM 配置参数来控制是否要通告。

阻塞网络写操作通常表明操作系统问题。对特定的网络流量类型,使用 NET_IO_TIMEOUT_ALARM 配置参数来启用事件报警 82。

onconfig.std 值

不在 onconfig.std 中

下列值之一或者一个或多个下列值的总计:

  • 0 = 禁用
  • 1 = 对 Enterprise Replication 操作启用
  • 2 = 对分布式查询启用
  • 4 = 对 HAC 操作启用
  • 8 = 对 SMX 操作启用
  • 16 = 对其他组件操作启用

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

NETTYPE 配置参数

使用 NETTYPE 参数来调整您在 sqlhosts 信息中定义的网络协议。

onconfig.std 值

UNIX™:ipcshm,1,50,CPU

缺省值

connection_type,1,50,vp_class

缺省连接类型依赖于操作系统:

  • UNIX:来自 sqlhosts 文件的 protocol 域值。

分隔符

以逗号分隔域。不包括空格。如果您可省略域值,但您必须为每个域包括一个逗号。然而,您可省略尾部的逗号。

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

NETTYPE 提供对协议与接口组合的调整选项,与 sqlhosts 信息中的 dbservername 条目相关联。

NETTYPE 配置参数值的选项.

connection_type有效协议与接口的组合,带有或没有数据库服务器前缀 on、ol 或 dr。
poll_threads指定给该连接类型的轮询线程数。缺省是 1。值域依赖于操作系统和虚拟处理器类:
● UNIX:如果虚拟处理器类是 NET,则是一个大于或等于 1 的整数。每一轮询线程需要一个单独的虚拟处理器, 因此当您指定一个接口、协议组合的轮询线程数并指定由 NET 类运行它们时,请直接指定网络虚拟处理器的数目。
● UNIX:如果虚拟处理器类是 CPU,则是一个从 1 至 CPU VP 数目的一个整数。
如果数据库服务器有许多连接,则您可能通过增加轮询线程数来提高性能。通常,每一轮询线程可控制大约 200 - 250 个连接。
conn_per_thread1 - 32767 的整数设置每一轮询线程的最大连接数。缺省是 50。 对于共享内存连接,conn_per_thread 的值是每个线程的最大连接数。通常,指定预期连接数的两倍。
对于网络连接,可超出 conn_per_thread 的值。根据需要,轮询线程动态地重新分配资源来支持更多连接。请避免设置并发连接数目的值远高于您的预期。否则,您可能浪费系统资源。
如果仅有几个连接在并发地使用一个协议,则您可通过明确地设置连接的预计数目来节省内存。
CPU指定一个 CPU 虚拟处理器。对于共享内存连接,使用 CPU 虚拟处理器,共享内存连接应运行在每个 CPU 虚拟处理器中。
NET指定一个 NET 虚拟处理器。对于网络连接,使用 NET 虚拟处理器。

您可为想让数据库服务器使用的每一协议指定一个 NETTYPE 参数。下列示例表明到数据库服务器的两类连接的 NETTYPE :本地客户端的一个共享内存连接,以及使用套接字的一个网络连接:

NETTYPE ipcshm,3,,CPU
NETTYPE soctcp,8,300,NET

共享内存连接的 NETTYPE 参数(ipcshm)指定在 CPU 虚拟处理器中三个轮询线程来运行。连接数未指定,于是设置为 50。对于 ipcshm,轮询线程数对应于内存段的数目。

套接字连接的 NETTYPE 参数(soctcp)为这个协议指定每一线程预期 300 个同时发生的连接,且在 NET 虚拟处理器中将运行 8 个轮询线程。

UNIX:在 NETTYPE 和 NUMFDSERVERS 配置参数设置之间可有依赖。当有多个 CPU 虚拟处理器和轮询线程,且 onstat -g ath 命令的线程状态输出表明网络共享文件(NSF)锁定时,您可增加轮询线程的 NUMFDSERVERS 值来减少 NSF 锁争用。

NS_CACHE 配置参数

使用 NS_CACHE 配置参数来定义 GBase 8s 名称服务高速缓存中条目的最大保留时间:主机名 /IP 地址高速缓存、地址高速缓存、服务高速缓存、用户高速缓存和组高速缓存。

onconfig.std 值

NS_CACHE host=900,service=900,user=900,group=900

每一域都是一个等于或大于 0 的整数值。

host = 设置在主机名或 IP 地址高速缓存中高速缓存信息的秒数。

service = 设置在服务高速缓存中高速缓存信息的秒数。

user = 设置在用户高速缓存中高速缓存信息的秒数。

group = 设置在组高速缓存中高速缓存信息的秒数。

0 = 禁用高速缓存。服务器总是从操作系统取得信息。您可设置一个别高速缓存为 0 或设置所有服务高速缓存为 0:NS_CACHE 0。

单位

分隔符

用逗号分隔值。不包括空格。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

为了查找和解析主机名(或 IP 地址)、服务名、用户(及口令)或组,数据库服务器使用适当的系统调用查询操作系统(OS)。通过使用 GBase 8s 名称服务高速缓存机制,您可避免这些 OS 查找中的许多,在可配置的时间量中,该机制可保持和重用每一检索的信息条。如果操作系统不提供其自己的高速缓存,则您应设置 NS_CACHE 配置参数。

服务器从高速缓存获得信息比在查询操作系统时更快。然而,如果您通过设置保留时间为 0禁用这些高速缓存中的一个或多个,则数据库服务器为主机、服务、用户或组信息查询操作系统。

在操作系统级别对名称服务进行的更改不立即反映在 GBase 8s 名称服务高速缓存中:例如,IP 地址的更改、用户添加到组或从组中移走、或者新的口令。然而, 您可使用 onmode -wf 或 onmode -wm 命令来立即更改 NS_CACHE 信息。当您用 onmode -wf 或 onmode -wm 命令更改一个特别的高速缓存值时 ,服务器立即终止那个高速缓存中所有现存的条目。

NUMFDSERVERS 配置参数

对于 UNIX™ 上的网络连接,使用 NUMFDSERVERS 配置参数来指定轮询线程的最大数目,以控制网络连接在 GBase 8s 虚拟处理器(VP)之间迁移。

如果 GBase 8s 有高频率的新建连接和断开连接要求,或者如果您发现在网络共享文件(NSF)锁之间存在大量争用,则指定 NUMFDSERVERS 信息是有用的。 您可使用 onstat -g ath 命令来显示关于所有线程的信息。这个信息包括诸如 mutex wait nsf.lock 之类的状态,表明您有大量的 NSF 锁争用。

onconfig.std 值

NUMFDSERVERS 4 (仅每一 nettype 的前 4 个轮询线程,涉及管理连接迁移。)

1 - 50

实际数目依赖于在 NETTYPE 配置参数中指定的轮询线程的数目。

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

指定的 NUMFDSERVERS 值对共享内存(SHM)连接没有影响。

如果您使用 NUMFDSERVERS 配置参数,如有必要还会审核它,则在 NETTYPE 配置参数中更改轮询线程的数目。例如,如果您有多个 CPU VP 和轮询线程,且导致 NSF 锁定,则可增加 NUMFDSERVERS 和轮询线程来减少 NSF 锁争用。

OFF_RECVRY_THREADS 配置参数

当数据库服务器 offline(冷恢复期间)时,使用 OFF_RECVRY_THREADS 配置参数来指定用在逻辑恢复中的恢复线程数。该线程的数目还用于在快速恢复中的前滚逻辑日志记录。

onconfig.std 值

OFF_RECVRY_THREADS 10

正整数

单位

并行运行的恢复线程的数目

生效

编辑 onconfig 文件并重启数据库服务器之后。

参考

  • GBase 8s 备份与恢复指南
  • GBase 8s 性能指南

用法

在执行冷恢复之前,您可设置该参数的值约等于逻辑日志中有大量事务的表的数目。对于单处理器计算机或节点,多于 30 至 40 个线程可能就太多了,因为线程管理的开销抵消了并行处理中的增长。

ON_RECVRY_THREADS 配置参数

当数据库服务器 online(热恢复期间)时,ON_RECVRY_THREADS 配置参数是数据库服务器用户用于逻辑恢复的恢复线程的最大数。

onconfig.std 值

ON_RECVRY_THREADS 1

正整数

单位

并行运行的恢复线程数

生效

编辑 onconfig 文件并重启数据库服务器之后。

参考

  • GBase 8s 备份与恢复指南
  • GBase 8s 性能指南

用法

您可调整 ON_RECVRY_THREADS 为可能被恢复的表数,因为在恢复期间,根据表数为处理的逻辑日志指定线程。 当恢复线程数与正在恢复的表数相配时,会发生最大程度的并行处理。

要提高热恢复的性能,请用 ON_RECVRY_THREADS 参数增加快速恢复线程的数目。

ONDBSPACEDOWN 配置参数

当非关键 dbspace 内的主 chunk 上发生任何禁用事件时,使用 ONDBSPACEDOWN 配置参数来定义数据库服务器采取的行动。

onconfig.std 值

ONDBSPACEDOWN 2

0 = 数据库服务器将 dbspace 标记为 offline 并继续。

1 = 数据库服务器终止。

2 = 数据库服务器将 chunk 的状态写到日志并等待用户输入。如果您设置这个选项,但您不想数据库服务器将一个禁用的 dbspace 标记为 down 并继续处理,则使用 onmode -O 来取代这个 ONDBSPACEDOWN 设置。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

当不应用 ONDBSPACEDOWN 时的数据库服务器行为

如果任何关键 dbspace(例如,rootdbs 或 logsdbs)内的 chunk 丢失,则数据库服务器将不 online。

ONDBSPACEDOWN 的值不影响临时 dbspace。对于临时 dbspace,数据库不管 ONDBSPACEDOWN 设置,继续处理。如果临时 dbspace 需要修理,则您应停止并重新创建它。

对于非关键 dbspace 内的非主 chunk,当禁用事件发生时,数据库服务器的行为依赖于 chunk 的事务状态:

  • 无事务:如果未检测到那个 chunk 的事务,则单独地将该 chunk 标记为关闭。在这种情况下,随后对那个 chunk 的写尝试失败,回滚相关的事务。您可安全地放回该 chunk,然后使用 onspaces -s 命令来将该 chunk 标记为 back online。
  • 检测到事务:如果有事务前滚或回滚,那么数据库终止并伴以适当的快速恢复错误。在这种情况下,您应放回该 chunk 并重启数据库服务器。

ONLIDX_MAXMEM 配置参数

使用 ONLIDX_MAXMEM 配置参数来限定分配给单个 preimage 池和单个 updator 日志池的内存数量。

onconfig.std 值

ONLIDX_MAXMEM 5120

16 - 4294967295

单位

KB

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

preimage 和 updator 日志池,pimage_partnum 和 ulog_partnum,是当执行 CREATE INDEX ONLINE 语句时创建的共享内存池。当语句执行完毕时,释放这些池。

如果您为这个参数指定一个值,然后创建一个表,添加行到该表并在一列上启动执行 CREATE INDEX ONLINE 语句,则您还可在此列上执行其他操作,诸如运行 UPDATE STATISTICS HIGH,而不会引起内存问题。

OPTCOMPIND 配置参数

使用 OPTCOMPIND 来指定信息,帮助优化器选择一个对您的应用适当的查询计划。

提示: 您可认为此变量名出自“OPTimizer COMPare (the cost of using) INDexes (with other methods)。”

onconfig.std 值

OPTCOMPIND 2

0 = 当表的每一排序的对存在适当的索引时,用户器选择索引扫描(嵌套循环联接),不计成本,不选择表扫描(散列联接)。

1 = 如果隔离级别不是 Repeatable Read,则优化器根据成本来确定执行路径。否则,优化器选择索引扫描(效果与值 0 相同)。此设置是优化性能的推荐设置。

2 = 优化器根据成本来确定任何隔离级别的执行路径。索引扫描不优先于表扫描;优化器纯粹地根据成本做决定。如果未设置变量,则该值是缺省值。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

由于散列联接的本质,一个隔离模式设置为 Repeatable Read 的应用可能临时地锁定表中的所有记录,这些表参与表的每一排序集的联接(即使那些记录不符合联接条件)。这种情况导致联接中发生较高的争用。相反地,嵌套循环联接锁定较少记录,但当数据库服务器检索大量行时性能较差。因此,两种联接方式都各有利弊。客户端应用也可影响优化器对联接方式的选择。

OPT_GOAL 配置参数

onconfig.std 值

OPT_GOAL -1

0 或 -1

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

OPT_GOAL 参数使您能指定下列查询的优化目标之一:

优化 FIRST ROWS

优化 ALL ROWS

值 0 设置优化目标为 FIRST_ROWS。值 -1 设置优化目标为 ALL_ROWS,这是缺省值。

当您设置优化目标为优化 FIRST ROWS 时,请指定您想要数据库服务器优化感知响应时间的查询。换句话说,交互应用的用户感知的响应时间,就是花费在屏幕上显示数据的时间。设置优化目标为 FIRST ROWS,配置数据库服务器来返回满足查询的前几行数据。

当您设置优化目标为优化 ALL ROWS 时,请指定您想要数据库服务器优化的查询执行时间的总计。使 ALL ROWS 优化目标指导数据库服务器来尽快处理总计查询,不管将前几行数据返回到应用需要花费多长时间。

您可用四种方法之一指定优化目标:

  • 通过查询(SELECT 语句)

使用 ALL_ROWS 和 FIRST_ROWS 指令。

  • 通过会话

使用 SET OPTIMIZATION 语句。

  • 通过环境

设置 OPT_GOAL 环境变量。

  • 通过数据库服务器

设置 OPT_GOAL 配置参数。

上述列表按优先的降序罗列设置这个目标的机制。要确定优化目标,数据库服务器按上述顺序检查设置。以遇到的第一个设置来确定优化目标。例如,如果查询包括 ALL_ROWS 指令,但 OPT_GOAL 配置参数设置为 FIRST_ROWS,则 数据库服务器按照查询指定的,优化 ALL_ROWS。

PC_HASHSIZE 配置参数

使用 PC_HASHSIZE 来指定在数据库服务器使用的高速缓存中散列存储区的数目。PC_HASHSIZE 仅适用于 UDR 高速缓存。

onconfig.std 值

PC_HASHSIZE 31

任何正整数,推荐质数。

生效

编辑 onconfig 文件并重启数据库服务器之后。

PC_POOLSIZE 配置参数

使用 PC_POOLSIZE 配置参数来指定存储在 UDR 高速缓存中的用户定义的例程的最大数目。

onconfig.std 值

PC_POOLSIZE 127

一个正值 127 或更大,表示高速缓存中条目的初始最大数目的一半。最大值依赖于共享内存配置和服务器实例的可用共享内存。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wm 命令增加内存中的该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

高速缓存中条目的初始数目是 PC_POOLSIZE 配置参数值的两倍。例如,如果 PC_POOLSIZE 配置参数设置为 127,则高速缓存中允许 254 个条目。 如果高速缓存中所有条目填满,则高速缓存大小自动地增长 10%。要降低高速缓存的大小,请减小 onconfig 文件中 PC_POOLSIZE 配置参数的值并重启服务器。

PHYSBUFF 配置参数

使用 PHYSBUFF 配置参数来指定以 KB 为单位的共享内存中两个物理日志缓冲区的大小。

onconfig.std 值

PHYSBUFF 128

单位

KB

范围从 4 -(32767 * pagesize / 1024)的整数,此处 pagesize 是缺省系统页大小。该值必须能被缺省系统页大小均分。如果该值不被页大小均分,则数据库服务器向下取整这个大小为最接近可被页大小均分的值。

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

当其他缓冲区正被清空到磁盘上的物理日志时,加倍缓冲准许用户线程写到活动的物理日志缓冲区。向物理日志缓冲区的写长度恰好为一页。PHYSBUFF 参数的值确定数据库服务器需要将物理日志缓冲区清空到物理日志文件的频繁程度。

如果启用 RTO_SERVER_RESTART 配置参数,则使用 512 KB 为 PHYSBUFF 的缺省值。当启用 RTO_SERVER_RESTART 配置参数时,如果 PHYSBUFF 配置参数的值小于 512 KB,则在重启服务器时显示警告消息。

智能大对象的用户数据部分不通过物理日志缓冲区。

PHYSFILE 配置参数

当您初始化磁盘空间并使数据库服务器 online 时,使用 PHYSFILE 配置参数来指定物理日志文件的大小。

onconfig.std 值

PHYSFILE 50000

如未出现

200

整数 200 或更大

单位

KB

生效

编辑 onconfig 文件并通过运行 oninit -i 命令初始化磁盘空间之后。

运行 onparams -p -s 命令之后。

用法

初次启动服务器之后,您不可通过编辑 onconfig 更改 PHYSFILE 配置参数的值。

在下列情况下,数据库服务器更新 onconfig 文件中的 PHYSFILE 配置参数值:

  • 通过运行 onparams -p -s 命令更改物理日志文件的大小。
  • 自动地扩展 plogspace。如果物理日志存储在 plogspace 中,则数据库服务器根据需要扩展物理日志的大小来提高性能。

当启用 RTO_SERVER_RESTART 配置参数时,请确保物理日志的大小至少等于缓冲池大小的 110%。在下列时刻,会向消息日志打印警告消息:

  • PHYSFILE 配置参数的值更改为小于所有缓冲池的 110%
  • 重启服务器
  • 添加新的缓冲池

PLOG_OVERFLOW_PATH 配置参数

如果物理日志文件溢出,则 PLOG_OVERFLOW_PATH 参数指定在快速恢复期间使用的文件的位置。

该文件是 plog_extend.servernum,缺省位置是 $GBASEDBTDIR/tmp。使用全路径名以 PLOG_OVERFLOW_PATH 参数来指定文件的不同位置。

onconfig.std 值

UNIX™ 上:$GBASEDBTDIR/tmp

生效

当数据库服务器启动时(初始化共享内存)

PLCY_HASHSIZE 配置参数

PLCY_HASHSIZE 配置参数指定安全策略信息高速缓存中散列存储区的数目。

onconfig.std 值

PLCY_HASHSIZE 31

任意正整数

单位

KB

生效

编辑 onconfig 文件并重启数据库服务器之后。

PLCY_POOLSIZE 配置参数

使用 PLCY_POOLSIZE 配置参数来指定安全策略信息高速缓存的每一散列存储区中的最大条目数。

onconfig.std 值

PLCY_POOLSIZE 127

正值 127 或更大,表示高速缓存中条目的初始最大数目的一半。最大值依赖于共享内存配置和服务器实例的可用共享内存。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wm 命令增加内存中的该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

共享内存中的初始条目数是 PLCY_POOLSIZE 配置参数值的两倍。例如,如果 PLCY_POOLSIZE 配置参数设置为 127,则高速缓存中允许 254 个条目。如果高速缓存中的所有条目填满,则高速缓存大小自动地增长 10%。 要减小高速缓存的大小,请减小 onconfig 文件中 PLCY_POOLSIZE 配置参数的值并重启服务器。

PN_STAGEBLOB_THRESHOLD 配置参数

使用 PN_STAGEBLOB_THRESHOLD 配置参数来为轮转法分片中的 BYTE 和 TEXT 数据保留空间。

onconfig.std 值

未设置。

如未出现

0

0 - 1000000

单位

KB

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

设置这个配置参数为存储在表中的 BYTE 或 TEXT 数据的典型或平均大小。

限制: 如果 extent 的数目已经达到允许的最大 extent,或如果 dbspace 填满,则 PN_STAGEBLOB_THRESHOLD 配置参数没有影响。

当表达到一个分片的页的最大数目时,可通过添加新的分片来向表添加更多页。然而,如果表中包含 BYTE 或 TEXT 列,且按轮转法分发方案分片表,则添加新分片不会自动地使新行能够插入到新分片内。

例如,如果表中的分片之一达到了最大页数,则添加新分片不会扩展表来存储更多行。因为 BYTE 和 TEXT 数据属于大型数据,所以在所有分片中平均地分发之前,该数据在其中一个分片中 staged。 此 staging 分片必须有充足的空间来存储 BYTE 或 TEXT 数据。使用 PN_STAGEBLOB_THRESHOLD 配置参数以便数据库服务器可在一个 staging 分片中临时地 stage BYTE 或 TEXT 数据,直到 INSERT 操作完成且永久地将数据存储在表中。

在 UPDATE 操作期间,如果分片没有 PN_STAGEBLOB_THRESHOLD 配置参数中指定的空间,则受更新处理影响的表行会移到另一分片内。

PRELOAD_DLL_FILE 配置参数

PRELOAD_DLL_FILE 配置参数指定共享库文件的路径名,当数据库服务器启动时预先加载该文件。

onconfig.std 值

未设置。无预先加载的共享库文件。

pathname = 共享库文件的全路径名。下列是一些示例:

  • /finance/jeffzhang/mylib.udr
  • /home/gbasedbt/extend/blade.so
  • \work4\lauragupta\userfuncdir\cudrs.ddl

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

使用这个参数来预先加载用户定义的例程的共享库文件,用 C 编程语言创建这些例程(C UDR)。对于您想要预先加载的每一库文件,请添加这个参数的一个单独条目。 预先加载的 C UDR 共享库保持活动状态直到服务器停止。

限制

您不可使用 onmode -wm 或 onmode -wf 命令来设置 PRELOAD_DLL_FILE 配置参数。

QSTATS 配置参数

QSTATS 配置参数指定 onstat -g qst 来打印队列统计信息的能力。

onconfig.std 值

QSTATS 0

0 = 禁用队列统计信息

1 = 启用队列统计信息

生效

编辑 onconfig 文件并重启数据库服务器之后。

RA_PAGES 配置参数

RA_PAGES 配置参数指示数据库服务器在顺序扫描数据或索引页期间在单个 I/O 操作中引入内存的页数。

RA_THRESHOLD 配置参数

RA_THRESHOLD 配置参数指示数据库服务器发出 I/O 请求以从磁盘引入下一组页的点。

因为 I/O 等待时间的较大一部分与寻找磁盘上的正确起始点有关,所以可通过增加随每次传输带入的连续页数来提高顺序扫描的效率。

但是,就 BUFFERPOOL 配置参数中 buffers 的值而言,将 RA_PAGES 设置得太大或将 RA_THRESHOLD 设置得太高会触发不必要的页面清除从而为没有迫切需要的页腾出空间。

使用以下公式计算 RA_PAGES 和 RA_THRESHOLD 的值:

RA_PAGES = ((BUFFERS * bp_fract) / (2 * large_queries)) + 2
RA_THRESHOLD = ((BUFFERS * bp_fract) / (2 * large_queries)) - 2

bp_fract

是用于要求预先读取的大型扫描的数据缓冲区部分。如果希望大型扫描占用缓冲区的 75%,那么 bp_fract 设置为 0.75。

large_queries

是要求您所要支持的预先读取的并发查询数。

REMOTE_SERVER_CFG 配置参数

使用 REMOTE_SERVER_CFG 配置参数来指定罗列可信的远程主机的文件。

onconfig.std 值

未设置。使用系统 hosts.equiv 文件。

文件名。路径假定为 $GBASEDBTDIR/etc。请考虑使用下列命名惯例:

authfile.server_name

REMOTE_SERVER_CFG 配置参数指定的文件必须位于 $GBASEDBTDIR/etc 中。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

  1. REMOTE_SERVER_CFG 配置参数指定的文件格式与系统 hosts.equiv 文件的格式相同。
  2. 如果未设置 REMOTE_SERVER_CFG 配置参数,且您运行带有 cdr add trustedhost 参数的 SQL 管理 API task() 或 admin() 函数,则数据库服务器采取下列行动:
  3. REMOTE_SERVER_CFG 配置参数设置为 authfile.DBSERVER。
  4. 在 $GBASEDBTDIR/etc 中创建 authfile.DBSERVER 文件。
  5. 将指定的可信的主机信息添加到 $GBASEDBTDIR/etc/authfile.DBSERVER。
  6. 如果数据库服务器是高可用性集群的一部分,则将可信的主机信息传播到其他集群服务器的可信的主机文件。
注意

如果数据库服务器的 sqlhosts 文件使用 s=6 选项,则您必须还设置 S6_USE_REMOTE_SERVER_CFG 配置参数为 1 来使用 REMOTE_SERVER_CFG 配置参数指定的文件。否则,数据库服务器使用系统 hosts.equiv 文件,而不是 REMOTE_SERVER_CFG 配置参数指定的文件。

REMOTE_USERS_CFG 配置参数

使用 REMOTE_USERS_CFG 配置参数来指定罗列在远程主机上存在的可信的用户名的文件。

onconfig.std 值

未设置。

文件名。路径假定为 $GBASEDBT/etc。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

REMOTE_USERS_CFG 配置参数指定的文件必须位于 $GBASEDBTDIR/etc 中。如果设置配置参数,则使用指定的文件而不是 ~/.rhosts 文件。如果在 $GBASEDBTDIR/etc 中不存在指定的文件,则认证失败。

REMOTE_USERS_CFG 配置参数指定的文件格式与 ~/.rhosts 文件的格式相同。

对于 REMOTE_USERS_CFG 配置参数指定的文件,请考虑使用下列命名惯例:

users.server_name

RESIDENT 配置参数

使用 RESIDENT 配置参数来指定共享内存的常驻段和虚拟段是否保持驻留在操作系统物理内存中。

onconfig.std 值

RESIDENT 0

-1 - 99

0 = 关

1 = 仅锁定常驻段

-1 = 锁定所有常驻段和虚拟段

n = 锁定常驻段和接下来的 n -1 个虚拟段。例如,如果您指定值为 99,则锁定常驻段并锁定接下来的 98 个虚拟段。

有些平台有不同的值。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

一些系统允许您指定共享内存的常驻部分必须在所有时间都常驻内存。如果您的操作系统支持强制的常驻,则您可指定共享内存的常驻段和虚拟段不交换到磁盘。

警告

在您决定强制驻留之前,请确保可用的物理内存量足以执行所有需要的操作系统和应用进程。如果可用的内存不足,则系统挂起可能导致需要 reboot。

在支持大型内存页的 AIX®、Solaris 或 Linux™ 系统上,DBSA 可使用操作系统命令来配置一个大型页的池。

如果您执行下列步骤,GBase 8s 可在这些大型页上存储非消息虚拟内存段:

  • 通过设置 IFX_LARGE_PAGES 环境变量启用大型页大小。
  • 对于您打算存储在大型页上的虚拟内存段,请设置 RESIDENT 参数来锁定物理内存中的那些段,以便不可将它们交换到磁盘。

在大型页上存储虚拟内存段可在大型内存配置中提供非常出色的性能帮助。

RESTARTABLE_RESTORE 配置参数

onconfig.std 值

RESTARTABLE_RESTORE ON

ON = 启用可重启恢复

OFF = 禁用可重启恢复

生效

编辑 onconfig 文件并重启数据库服务器之后。

如果您设置 RESTARTABLE_RESTORE 为 ON,则您使数据库服务器能够在发生故障的点上重启一个失败的物理恢复或冷逻辑恢复。要以 ON-Bar 执行可重启的恢复,请使用 onbar -RESTART 命令。

如果您打算使用可重启恢复,则请增加物理日志的大小。如果需要恢复许多日志,虽然可重启恢复降低逻辑恢复的速度,但您会节约许多时间,不必重复进行完整恢复。

重要

如果在热逻辑恢复期间数据库服务器发生故障,则您必须重复进行完整恢复。如果数据库服务器仍在运行,则请使用 onbar -r -l 来完成恢复。

如果您在不完全相同的系统上进行冷恢复,则可指定到 chunk 的新路径名,且您可在恢复期间重命名关键 chunk 的设备。重命名和恢复操作完成之后,您必须执行 0 级归档。

数据库服务器使用下列物理恢复和逻辑恢复来恢复数据:

  • 物理恢复。数据库服务器从备份介质将数据页写到磁盘。这个行动使得存储空间与其最初被备份的点保持一致。然而,每一存储空间的备份时间通常不相同。可重启恢复可重启到存储空间的级别。当恢复失败时,如果仅恢复了存储空间的部分 chunk,则当您重启恢复时,需要再次恢复整个存储空间。
  • 逻辑恢复。数据库服务器重放介质上的逻辑日志记录来使所有存储空间为最新。在逻辑恢复结束时,所有存储空间都与同一点保持一致。

RESTORE_POINT_DIR 配置参数

使用 RESTORE_POINT_DIR 配置参数来更改目录的路径名,在升级到新版本服务器失败时,恢复点文件将置于这个目录。仅当启用 CONVERSION_GUARD 配置参数时,GBase 8s 将恢复点文件存储在指定目录的一个子目录中,以服务器号为子目录名称

onconfig.std 值

$GBASEDBTDIR/tmp

目录的完整路径名

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

您可更改目录,例如,如果您认为 $GBASEDBTDIR/tmp 没有恢复点数据所需的充足空间。如果您想要更改目录,则必须在初始化升级到一个新版本服务器之前更改。您不可在升级期间更改目录。

当升级开始时,RESTORE_POINT_DIR 配置参数中指定的目录必须为空。如果该目录包含任何以前升级的恢复点文件,则必须在新升级开始新的恢复点之前移除这些文件。

重要

空目录是进行升级的先决条件,从失败的升级恢复时则不是。失败的升级之后,在您尝试运行 onrestorept 命令之前不清空 RESTORE_POINT_DIR 目录。

ROOTNAME 配置参数

ROOTNAME 为这个数据库服务器配置指定一个 root dbspace 的名称。

在数据库服务器管理的所有 dbspace 中,此名称必须是唯一的。推荐您选择一个易于识别为 root dbspace 的名称。

onconfig.std 值

ROOTNAME rootdbs

最多 128 字节。ROOTNAME 必须以一个字母或下划线开始,且必须仅包含字母、数字、下划线或 $ 字符。

单位

一个 dbspace

生效

当初始化磁盘时(毁掉所有数据)

ROOTOFFSET 配置参数

ROOTOFFSET 指定对磁盘空间(文件、磁盘分区或设备)分配的偏移量,root dbspace 的初始 chunk 始于这里。

仅限于 UNIX:

在一些 UNIX™ 平台上,设置 ROOTOFFSET 为 0 是无效的。当这个参数设置不正确时,您必须重新初始化磁盘空间并重新加载数据来恢复数据库服务器的正当操作。在您配置数据库服务器之前,请经常检查 machine notes 文件,了解正当的设置信息。

onconfig.std 值

ROOTOFFSET 0

大于或等于 0 的任意值

单位

KB

生效

当初始化磁盘时(毁掉所有数据)

ROOTPATH 配置参数

使用 ROOTPATH 配置参数来指定 root dbspace 的初始 chunk 全路径名,包括设备或文件名。ROOTPATH 配置参数作为 chunk 名存储在保留页中。

onconfig.std 值

UNIX™ 上:$GBASEDBTDIR/tmp/demo_on.rootdbs

pathname

生效

当初始化磁盘时(毁掉所有数据)

参考

GBase 8s 管理员指南 中关于管理磁盘空间的章节中的下列资料:

  • 分配磁盘空间
  • 创建裸设备的链接

用法

在 UNIX 上,您必须设置用 ROOTPATH 配置参数指定的文件的许可为 660,所有者和组都必须是 gbasedbt。

仅限于 UNIX:

对于 UNIX 上的初始 chunk,如果您使用无缓冲的磁盘空间,则应定义 ROOTPATH 配置参数为 pathname,那是一个到 root dbspace 的初始 chunk 的链接,而不是输入初始 chunk 的实际设备名。

ROOTSIZE 配置参数

使用 ROOTSIZE 配置参数来指定以 KB 为单位的 root dbspace 的初始 chunk 的大小。您选择的大小依赖于数据库服务器的即时计划。

仅在完全的磁盘初始化期间,数据库服务器使用 ROOTSIZE 配置参数的值。在 root dbspace 的初始 chunk 已经创建之后,更改 ROOTSIZE 值将没有效果。

onconfig.std 值

ROOTSIZE 300000

如未出现

0

50,000 至存储设备的最大容量

单位

KB

生效

当初始化磁盘时(毁坏所有数据)

RSS_FLOW_CONTROL 配置参数

在一个包含至少一台远程独立辅助服务器的高可用性集群中,指定发生流量控制的时刻。

onconfig.std 值

RSS_FLOW_CONTROL 0

0 = 当前日志位置与最近响应的日志的差异超过日志缓冲区大小的 12 倍时,激活流量控制。

-1 = 禁用流量控制。禁用流量控制可能导致日志文件交换和数据丢失。

start_value,end_value = start_value 和 end_value 确定在当前日志位置与最后响应的日志页之间滞后的量。start_value 大于 end_value。这些值必须包括下列单位之一:

  • K(KB)
  • M(MB)
  • G(GB)

例如,设置 RSS_FLOW_CONTROL 128M,100M,当日志之间的滞后超过 128 MB 时启动流量控制,当滞后降到 100 MB 时停止流量控制。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

流量控制提供一种在主服务器上限制日志活动的方法,以便集群中的 RHAC 辅助服务器处理事务不落后太远。如果服务器在忙碌的或间歇的网络上,则启用流量控制确保 RHAC 辅助服务器上的日志保持现状。当启用流量控制,且当前日志位置与最后响应的日志页之间日志大小的差异超过 start_value 时,则主服务器上的日志活动受到限制。当启用流量控制时,连接到主服务器的用户会感到响应时间变慢。当日志之间的滞后大于 start_value 时启动流量控制,当日志滞后已降低到 stop_value 时停止流量控制。

请仅在主服务器上设置 RSS_FLOW_CONTROL 配置参数。集群中的所有 RHAC 辅助服务器都受 RSS_FLOW_CONTROL 配置参数影响。日志通常按照接收的顺序发送到 RHAC 辅助服务器。

要检查 RHAC 辅助服务器的流量控制是否是活动的,请使用 onstat -g rss verbose 命令,并比较 RSS flow control 值与 Approximate Log Page Backlog 值。如果 Approximate Log Page Backlog 高于 RSS flow control 的第一个值,则流量控制是活动的。如果 Approximate Log Page Backlog 低于 RSS flow control 的第二个值,则流量控制被禁用。

RTO_SERVER_RESTART 配置参数

使用 RTO_SERVER_RESTART 配置参数来指定以秒计时间量的恢复时间目标(RTO)标准,您重启服务器并使其进入 online 或 quiescent 模式之后,GBase 8s 必须从问题中恢复。

onconfig.std 值

RTO_SERVER_RESTART 0(禁用)

值域

0 = 禁用

60 - 1800

单位

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

S6_USE_REMOTE_SERVER_CFG 配置参数

使用 S6_USE_REMOTE_SERVER_CFG 配置参数来控制由 REMOTE_SERVER_CFG 配置参数指定的文件是否用于认证服务器集群和 Enterprise Replication 的安全连接。

onconfig.std 值

S6_USE_REMOTE_SERVER_CFG 0

缺省值

0

0 = 使用系统 hosts.equiv 文件来认证通过一个安全端口的服务器连接。

1 = 使用由 REMOTE_SERVER_CFG 配置参数指定的文件来认证通过一个安全端口的服务器连接。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

使用 REMOTE_SERVER_CFG 配置参数来指定一个文件,这个文件罗列被装载数据库服务器的那台计算机信任的远程服务器主机。如果使用 sqlhosts 文件连接安全选项 s=6 配置罗列的服务器中的一台或多台,则您必须设置 S6_USE_REMOTE_SERVER_CFG 配置参数为 1。

如果未设置 S6_USE_REMOTE_SERVER_CFG 或设置为 0, 则使用系统 hosts.equiv 文件,而不是 REMOTE_SERVER_CFG 配置参数指定的文件,来认证通过一个安全端口的服务器连接。

SB_CHECK_FOR_TEMP 配置参数

使用 SB_CHECK_FOR_TEMP 配置参数来防止将临时智能大对象复制到永久表内。

onconfig.std 值

未设置。

如未出现

准许将临时智能大对象复制到永久表内。

0 = 准许将临时智能大对象复制到永久表内。等同于在 onconfig 文件中未设置该配置参数。

1 = 防止将临时智能大对象复制到永久表内。数据库服务器返回下列错误消息,而不是复制临时智能大对象的句柄:

  • -9810: Smart-large-object error.
  • -12246: Smart large objects: You cannot put a temporary smart large object into a permanent table

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

缺省情况下,您可将临时智能大对象复制到永久表内。智能大对象数据类型,BLOB 和 CLOB,包含两部分:数据,存储在 sbspace 中,以及句柄,存储在表中。当您将临时智能大对象复制到永久表内时,仅将 BLOB 或 CLOB 句柄复制到永久表内。如果您接下来删除该临时智能大对象,则永久表包含一个不再有效的句柄。

要防止将临时智能大对象复制到永久表内,请在 onconfig 文件中设置 SB_CHECK_FOR_TEMP 配置参数为 1。例如,如果 SB_CHECK_FOR_TEMP 配置参数设置为 1,则将临时智能大对象复制到永久表内的 INSERT INTO . . . SELECT FROM . . . 语句失败。

SBSPACENAME 配置参数

使用 SBSPACENAME 配置参数指定缺省 sbspace 的名称。

onconfig.std 值

未设置。

如未出现

0

最多 128 字节。

SBSPACENAME 必须是唯一的,以一个字母或下划线开头,且仅包含字母、数字、下划线或 $ 字符。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

如果数据库表包含智能大对象列,未明确地指定其存储空间,则那个数据保存在 SBSPACENAME 指定的 sbspace 中。

内建的加密和解密函数也使用缺省 sbspace 来存储 BLOB 或 CLOB 值。如果 DECRYPT_BINARY 或加密函数找不到存储 BLOB 或 CLOB 参数或者返回值的 sbspace,则函数失败并带有下列错误消息:

Fatal error in server row processing - SQL error -9810 ISAM error -12053

如果您在调用一个有 BLOB 或 CLOB 参数的加密或解密函数之后,看到这个错误消息,则请使用 SBSPACENAME 配置参数配置缺省 sbspace,然后重复函数调用。

在使用之前,您必须用 onspaces -c -S 命令创建缺省 sbspace。当发生下列情况之一时,数据库服务器验证缺省 sbspace 的名称:

  • 在 CREATE TABLE 或 ALTER TABLE 语句的 PUT 子句中为 CLOB 或 BLOB 列指定缺省 sbspace 作为存储选项。
  • 当未为该列指定 sbspace 时,数据库服务器尝试将智能大对象写到缺省 sbspace。
  • 在缺省 sbspace 中存储多重表示数据。

JAVA 语言支持:

如果您正在使用 J/Foundation,则必须在数据库服务器可存储 Java™ 归档(JAR)文件的地方提供智能大对象。这些 JAR 文件包含 Java 用户定义的例程(UDR)。当您使用 Java UDR 时,建议为了保存智能大对象创建单独的 sbspace。

警告

当您使用 Enterprise Replication 时,在定义复制服务器之前,必须设置 CDR_QDATA_SBSPACE 配置参数并创建 sbspace。

缺省 sbspace 的自动创建

如果您创建一个 bts 索引且未明确地指定 sbspace 名称,则即使未设置 SBSPACENAME 参数,也会创建缺省 sbspace。

为数据库服务器在 root dbspace 中创建大小 10 000 KB 的缺省 sbspace。当缺省 sbspace 填满时,您必须手工地增加其大小。

SBSPACETEMP 配置参数

使用 SBSPACETEMP 配置参数来指定缺省临时 sbspace 的列表,用于存储没有元数据或用户数据日志记录的临时智能大对象。如果您在标准 sbspace 中存储临时智能大对象,则日志记录元数据。

onconfig.std 值

未设置。临时智能大对象存储在缺省 sbspace 中,用 SBSPACENAME 配置参数指定该 sbspace。

分隔符

逗号

一个或多个 sbspace 名称。以逗号分隔名称。列表长度不可超过 128 字节。

每一 sbspace 名称必须是唯一的,以一个字母或下划线开头,并仅包含字母、数字、下划线或 $ 字符。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

SDS_ALTERNATE 配置参数

在高可用性集群中,使用 SDS_ALTERNATE 配置参数来定义在主服务器与 SSC 辅助服务器之间通信的替代方式。

onconfig.std 值

NONE(未配置 SSC 辅助服务器替代通信路径。)

在主服务器与 SSC 辅助服务器之间,用作替代通信路径的 blobspace 名称。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

如果在主服务器与 SSC 辅助服务器之间的网络不可用,则您设置 SDS_ALTERNATE 配置参数并创建共享 blobspace 来允许高可用性集群中的主服务器和所有 SSC 辅助服务器使用替代通信路径。 当 SSC 服务器即将故障转移并成为主服务器,但 TCP/IP 通信不可用时,使用 SDS_ALTERNATE 配置参数设置的共享 blobspace 将关闭程序传递到原先的主服务器。

在主服务器和所有 SSC 辅助服务器上,设置 SDS_ALTERNATE 配置参数为相同的值。

设置 SDS_ALTERNATE 配置参数之前,您必须在主服务器上创建共享 blobspace。例如,在主服务器上输入下列命令来创建名为 sds_alt_comm 的 blobspace:

onspaces -c -b sds_alt_comm -g <pagesize> -p <path> -o <offset> -s <size>

请运行下列命令来切换到下一个逻辑日志文件,以便启用新创建的 blobspace:

onmode -l

在高可用性集群中的每一 SSC 辅助服务器上,设置 SDS_ALTERNATE 配置参数来指向主服务器上的 blobspace。

SDS_ALTERNATE sds_alt_comm

SDS_ENABLE 配置参数

使用 SDS_ENABLE 配置参数来启用 SSC 辅助服务器功能。

onconfig.std 值

未设置。

如未出现

0

0 = 禁用

1 = 启用

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

您必须在 SSC 辅助服务器上设置 SDS_ENABLE 为 1(启动)来启用 SSC 辅助服务器功能。

当您运行下列命令时,自动地设置 SDS_ENABLE 为 1(启用):

onmode -d set SDS primary

当您运行下列命令时,SDS_ENABLE 设置为 0(禁用):

onmode -d clear SDS primary

要防止数据终端,如果 SDS_ENABLE 设置为 1(启用),则您不可使用 oninit -i 或 oninit -iy 命令来初始化服务器上的磁盘空间。 要初始化 SSC 辅助服务器,请使用不带参数的 oninit 仅初始化共享内存。要初始化关联一台或多台 SSC 辅助服务器的主服务器,且其磁盘从未初始化,则设置 SDS_ENABLE 为 0 并 使用 oninit -i 初始化服务器内存和磁盘。要初始化关联 SSC 辅助服务器的主服务器,且其磁盘已初始化,则设置 SDS_ENABLE 为 1 并使用不带参数的 oninit 初始化共享内存。

SDS_FLOW_CONTROL 配置参数

在包含至少一台共享磁盘(SSC)辅助服务器的高可用性集群中,当发生流量控制时指定。

onconfig.std 值

SDS_FLOW_CONTROL 0

0 = 当当前日志位置与最近响应日志之间的差异超过日志缓冲区大小的 12 倍时,激活流量控制。

-1 = 禁用流量控制。禁用流量控制可能导致日志文件的交换和数据丢失。

start_value,end_value = start_value 和 end_value 确定当前日志位置与最后响应日志页之间的滞后量。start_value 必须大于 end_value。这些值必须包括下列单位之一:

  • K(KB)
  • M(MB)
  • G(GB)

例如,设置 SDS_FLOW_CONTROL 128M,100M,当日志之间的滞后为 128 MB 时启动流量控制,当滞后降至 100 MB 时停止流量控制。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

用法

流量控制提供一种限制主服务器上日志活动的方法,以便集群中的 SSC 辅助服务器不在处理事务上落后太远。当启用流量控制时,且当当前日志位置与最后响应日志页之间日志大小的差异超过 start_value 时,主服务器上的日志活动受到限制。当流量控制是活动的时,连接到主服务器的用户可感觉到响应时间变慢。当日志之间的滞后大于 start_value 时启动流量控制,当日志滞后降至 stop_value 时停止流量控制。

仅在主服务器上设置 SDS_FLOW_CONTROL 配置参数。集群中的所有 SSC 辅助服务器都受到 SDS_FLOW_CONTROL 配置参数的影响。日志通常按照被接收的顺序发送到 SSC 辅助服务器。

SDS_LOGCHECK 配置参数

使用 SDS_LOGCHECK 配置参数来确定主服务器是否正在生成日志活动,并允许或防止主服务器的故障转移。

例如,如果 SDS_LOGCHECK 配置参数设置为 10,且主服务器故障,则 SSC 辅助服务器等待最多 10 秒,或者检测主服务器正在生成日志记录(若是防止故障转移),或者 SSC 辅助服务器检测主服务器没在生成日志记录并发生故障转移。

onconfig.std 值

SDS_LOGCHECK

UNIX™ 上:10

0 = 不检测日志活动;允许故障转移。

n = 等待最多 n 秒。如果从主服务器检测日志活动,则防止故障转移;否则,允许故障转移。

单位

生效

当在主服务器上启用共享磁盘功能时

用法

重要

您必须为主服务器和为所有辅助服务器指定相同的值。如果您指定的值不相同,则数据库服务器自动地更改辅助服务器上不同的值,更改为主服务器上设置的值。

SDS_LOGCHECK 配置参数指定 SSC 辅助服务器等待检测主服务器是否在生成日志活动的秒数。如果在指定的时间量中主服务器未创建日志活动,则允许启动故障转移处理。如果从主服务器检测日志活动,则不启动故障转移处理。

如果您没有配置 I/O GBase 8s fencing,且您的系统包含一台主服务器和一台或多台 SSC 辅助服务器,则设置 SDS_LOGCHECK 配置参数为一个大于零的值。

如果您的系统配置了 I/O GBase 8s fencing,且如果一台 SSC 辅助服务器成为主服务器,则 I/O GBase 8s fencing 脚本必须防止故障的主服务器更新任何共享磁盘。 如果系统未配置 I/O GBase 8s fencing,如果原先的主服务器正在生成日志记录,则通过不故障转移到 SSC 辅助服务器,SDS_LOGCHECK 配置参数防止多台主服务器的并发。

SDS_PAGING 配置参数

SDS_PAGING 配置参数指定作为缓冲区 GBase_8s paging 文件的两个文件的位置。

onconfig.std 值

未设置。

生效

当启动 SSC 辅助服务器时

用法

设置 SDS_PAGING 配置参数为两个缓冲区 GBase_8s paging 文件的路径,以逗号分隔。SDS_PAGING 配置参数必须设置为有效值以确保 SSC 辅助服务器启动。由于 GBase_8s paging 文件根据需要动态地增长,您应分配足够的磁盘空间来存储 PHYSFILE 配置参数指定值的两倍大小。

SDS_TEMPDBS 配置参数

使用 SDS_TEMPDBS 配置参数来指定共享磁盘(SSC)辅助服务器用于动态地创建临时 dbspace 的信息。只可在 SSC 辅助服务器上指定这个配置参数。

onconfig.std 值

未设置。不创建共享磁盘辅助服务器的临时 dbspace。

以逗号分隔,包含按照下列顺序的下列值的字符串:

dbspace = 要创建的 dbspace 的名称。在所有现有的 dbspace、blobspace 和 sbspace 中必须是唯一的,包括从主服务器继承的那些任何临时空间。名称不可超过 128 字节,必须以一个字母或下划线开头,且必须仅包含字母、数字、下划线或 $ 字符。

dbpath = dbspace 的路径,或者是一个完全路径名,或者是一个相对路径名。如果您使用相对路径名,必须是相对于您初始化数据库服务器时是当前目录的那个目录。

pagesize = 以 KB 为单位的表示页大小的整数。页大小必须在 2 KB 和 16 KB 之间,且必须是缺省页大小的倍数。

offset = 一个等于或大于 0 的整数,指定在磁盘分区内或设备内达到 dbspace 的初始 chunk 的偏移量。起始偏移量加上 chunk 大小不可超过 chunk 大小的最大值。偏移量必须是页大小的倍数。最大偏移量是 2 TB 或 4 TB,这依赖于平台。缺省情况下,该值以 KB 计。您可通过给该值附加单个字符修饰符来标明不同的单位:M 或 m 表示 MB,G 或 g 表示 GB,T 或 t 表示 TB。

size = 等于或大于 1000 KB 的正整数和页大小的倍数指定 dbspace 的初始 chunk 的大小。offset 的值加上 size 的值不可超过 chunk 大小的最大值。chunk 大小的最大值等于 2 147 483 647 页乘以页大小。缺省情况下,以 KB 为单位这个值。您可通过给该值附加单个字符修饰符来标明不同的单位:M 或 m 表示 MB,G 或 g 表示 GB,T 或 t 表示 TB。

分隔符

以逗号分隔每一值。不使用空格。

生效

编辑 onconfig 文件并重启 SSC 辅助服务器之后。

用法

当 SSC 辅助服务器启动时,如果以前存在 dbsapce,则创建或初始化临时 dbspace。临时 dbspace 用于创建临时表。为了 SSC 辅助服务器启动,在 SSC 辅助服务器的 onconfig 文件中必须有至少一个 SDS_TEMPDBS 配置参数。通过使用多个 SDS_TEMPDBS 配置参数,您可在 onconfig 文件中指定最多 16 个 SSC 辅助临时 dbspace。

对于 onconfig 文件中的每一 SDS_TEMPDBS 配置参数:

  • dbsname 值必须是每一服务器唯一的,且不与其他 SSC 辅助服务器或主服务器分享。
  • dbspath、pagesize、offset 与 size 的组合必须不导致与现有的 chunk 重叠,或与 SDS_TEMPDBS 配置参数指定的临时 dbspace 空间之间重叠。
  • 对每一 SDS_TEMPDBS 配置参数值,pagesize 值必须是相同的。

下列示例展示 SDS_TEMPDBS 配置参数的两个条目:

SDS_TEMPDBS sds_space1,/dev/raw_dev1,2,0,60M

SDS_TEMPDBS sds_space2,/dev/raw_dev2,2,0,80M

如果高可用性集群中的主服务器故障,且一台 SSC 辅助服务器接替作为主服务器,则在 SSC 辅助服务器上设置的值用于临时 dbspace,直到服务器重启。您应确保在 SSC 辅助服务器上指定的 SDS_TEMPDBS 配置参数值不同于在主服务器上指定的值。SSC 辅助服务器重启之后,使用 DBSPACETEMP 配置参数。

SDS_TIMEOUT 配置参数

使用 SDS_TIMEOUT 配置参数来指定以秒计的时间量,在这段时间里,高可用性集群中主服务器将等待从共享磁盘(SSC)辅助服务器发送日志位置响应。

onconfig.std 值

SDS_TIMEOUT 20

如未出现

10

2 - 2147483647

单位

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置 SDS_TIMEOUT 值。

当您通过运行 onmode -wm 命令重置内存中的 SDS_TIMEOUT 值。

用法

在指定的时间量内,如果从 SSC 辅助服务器未收到日志位置响应,则主服务器将从 SSC 辅助服务器断开连接并继续。等待 SDS_TIMEOUT 配置参数设置中指定的秒数之后,如果在等待 SSC 辅助服务器时页清空已超时,则主服务器将启动移除 SSC 辅助服务器。

SECURITY_LOCALCONNECTION 配置参数

使用 SECURITY_LOCALCONNECTION 配置参数,通过验证正在运行程序的本地用户的 ID 与正在试图访问数据库的用户的 ID 是否相同,来验证本地连接的安全性。

onconfig.std 值

未设置。

0 = 不发生安全性检查。

1 = GBase 8s 检查正在运行程序的用户的 ID 与正在试图连接到数据库的用户的 ID 是否相配。

2 = 与 1 相同,加之 GBase 8s 从网络 API 检索同级端口号并验证该连接是否正来自客户端程序。 如果您的系统有 SOCTCP 或 IPCSTR 网络协议,则可仅指定 2。

生效

编辑 onconfig 文件并重启数据库服务器之后。

SEQ_CACHE_SIZE 配置参数

使用 SEQ_CACHE_SIZE 配置参数来指定在序列高速缓存中可有预先分配值的序列对象的最大数目。

onconfig.std 值

SEQ_CACHE_SIZE 10

1 - 2147483647

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

如果未设置 SEQ_CACHE_SIZE 配置参数,则在缺省情况下,您不可用 CREATE SEQUENCE 语句的 CACHE 选项定义 10 个以上不同的序列对象。

例如,如果您想增加可有提前分配值的序列对象的最大数目为 15,则请指定:

SEQ_CACHE_SIZE 15

SERVERNUM 配置参数

SERVERNUM 配置参数指定共享内存中的相对位置。

onconfig.std 值

SERVERNUM 0

0 - 255

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

在本地计算机上,您为每一数据库服务器选择的值必须是唯一的。在您的网络上,该值不需要是唯一的。因为在 onconfig.std 文件中包括值 0,所以建议您选择一个非 0 的值来避免无意中重复 SERVERNUM 配置参数。

SESSION_LIMIT_LOCKS 配置参数

SESSION_LIMIT_LOCKS 配置参数指定非管理员用户在一个会话中可用锁的最大数目。

onconfig.std 值

如未出现

2147483647

500 至 2147483647

单位

在内部锁表中锁的数目

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

对于非管理员用户,在一个会话中锁的最大数目可以是从 500 至 2147483647 范围内任何指定的值。

如果指定的值在 1 至 500 的范围内,则对于非管理员用户有效的最大数目是 500。

如果指定的值为 0 或负数,则缺省值 2147483647 对所有用户都有效。

如果使用 onmode -wm 或 onmode -wf 来设置这个参数,则对于无效值显示一个适当的消息。例如,

% onmode -wm SESSION_LIMIT_LOCKS=200
New value is invalid. Suggested value: (500).

SESSION_LIMIT_LOCKS 设置不可限制拥有管理权限的用户在会话中允许的锁数目,诸如用户 gbasedbt 或 DBSA 用户,缺省情况下,允许其每会话的最大值总是 2147483647 个锁。对于管理员的大的最大锁限制,通常不必设置这个参数,或设置相应的 SQL 的 SET ENVIRONMENT 语句的 IFX_SESSION_LIMIT_LOCKS 会话环境选项。

然而,在要求非常大量锁的数据处理上下文中,管理员可能设置 SESSION_LIMIT_LOCKS 为一个值,以图降低普通用户在并发会话中用尽数据库服务器锁资源的风险,由此妨碍大量密集锁操作。

重要

在可重复的读隔离级别中,因为要求锁的活动集中的每一行,请小心设置服务器上锁的限制过低。类似地,设置锁限制过小可妨碍 Enterprise Replication 任务,或妨碍非 DBSA 用户发出的 cdr 命令。

SHMADD 配置参数

使用 SHMADD 配置参数来指定那些动态地添加到共享内存虚拟部分的段的大小。

onconfig.std 值

与平台有关

32 位平台:1024 - 524288

64 位平台:1024 - 4294967296

单位

KB

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

当需要添加内存时,SHMADD 配置参数的值表示数据库服务器添加到共享内存的虚拟部分的第一批段的大小。通过 SHMVIRTSIZE 配置参数设置第一个虚拟共享内存段。请设置 SHMVIRTSIZE 和 SHMADD 配置参数的值,以便在数据库服务器正常操作期间添加最少量的段。通常,较多的段会降低性能。

GBase 8s 共享内存段的最大数目是 1024。如果 SHMADD 值低,或者数据库服务器意外地有大量活动或内存使用,则可能要求许多共享内存段。要防止数据库服务器达到共享内存段的最大数目,数据库动态地添加的虚拟段的大小应两倍于每个 16 虚拟段。在大型段中添加内存更为有效,但如果添加的内存未被使用,则造成浪费。而且,操作系统可能要求您在少数大型段中,而不是许多小段中添加内存。

下列表包含设置 SHMADD 初始值的建议。

物理内存数量SHMADD 推荐值
小于 256 MB8192
256 - 512 MB16,384
大于 512 MB32,768

默认情况下,GBase 8s 在安装时会自动根据当前内存大小设置 SHMADD 值。计算算法如下:

SHMADD = memorybase * 51200+25600

其中 memorybase =总内存大小/950000。如果计算结果 < 1,则 memorybase = 1

如果 SHMADD 值的计算结果大于 1024000 则,将其取值为 1024000。

通过运行 onstat -g seg 命令,您可查看关于虚拟内存段的信息。

SHMBASE 配置参数

使用 SHMBASE 配置参数来指定共享内存附加到虚拟处理器的内存空间的基本地址。

onconfig.std 值

与平台有关

正整数

单位

地址

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

共享内存段的地址起始于 SHMBASE 值并增长直到达到上限,这与平台相关。

请不更改 SHMBASE 的值。SHMBASE 的 onconfig.std 值依赖于平台,以及处理器是 32 位还是 64 位。

SHMNOACCESS 配置参数

SHMNOACCESS 配置参数指定一个不用于附加共享内存的虚拟内存地址范围。

onconfig.std 值

On UNIX™: None

UNIX 上:无

1 - 10 地址范围

分隔符

逗号

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

SHMNOACCESS 配置参数用于避开特定的范围进程地址,反过来避免与操作系统库冲突。

每一范围中的每一地址必须以十六机制格式起始。范围中的每一地址必须以连字符分隔,且每一范围必须以逗号分隔,如下例所示:

SHMNOACCESS 0x70000000-0x75000000,0x7A000000-0x80000000

SHMTOTAL 配置参数

使用 SHMTOTAL 配置参数来指定数据库服务器用于所有内存分配的共享内存的总量(常驻部分、虚拟部分、通信部分和虚拟扩展部分)。onconfig.std 值 0 暗指约定对内存分配不设限。

onconfig.std 值

SHMTOTAL 0

0 = (无特定限制)或者大于或等于 1 的任何整数

单位

KB

生效

编辑 onconfig 文件并重启数据库服务器。

用法

您可使用 SHMTOTAL 配置参数来限制对数据库服务器可在系统上放置的内存的需求。然而,如果数据库服务器需要的内存多于 SHMTOTAL 强制的限度,则应用可能失败。 当发生这种情况时,数据库服务器将下列消息写到消息日志中:

size of resident + virtual segments xx + yy > zz total allowed by configuration parameter SHMTOTAL

这个消息包括下列值。

描述

xx

常驻段的当前大小

yy

虚拟段的当前大小

zz

需要的共享内存合计

如果您启用 LOW_MEMORY_MGR 配置参数,且正在配置服务器来使用 SHMTOTAL 配置参数值的百分率作为自动低内存管理起始和终止阈值,则 SHMTOTAL 配置参数必须不设置为 0(不限制)。

注意

更改 SHMTOTAL 配置参数值可导致自动低内存管理的配置成为无效,强制数据库服务器使用缺省设置。

仅限于 UNIX:

对于最大共享内存段大小,通常是 SHMMAX、SHMSIZE 或 SHMALL,请设置操作系统参数为数据库服务器配置需要大小的合计。如果您有比 machine notes 中指定的值更多的物理内存,且将由 GBase 8s 使用该内存,则您可增加 SHMALL 参数的值,直到计算机指定的物理内存的 90%。建议您不要达到或超过可用的 RAM。

SHMVIRT_ALLOCSEG 配置参数

使用 SHMVIRT_ALLOCSEG 配置参数来指定 GBase 8s 应分配新的共享内存段的阈值,以及如果服务器不能分配新内存段时激活的事件报警级别。

onconfig.std 值

SHMVIRT_ALLOCSEG 0,3

一个数值,可选地后跟一个逗号和另一个数值。

threshold = 当数据库服务器应添加一个共享内存段时指出的数值。:

  • 0 = 缺省。当需要时数据库服务器分配的共享内存段。
  • .40 - .99 = 添加一个段之前使用的内存百分比。
  • 256 - 10000000 = 添加一个段之前保留的 KB 数。

alarm_level:可选的。一个从 1 至 5 的整数值,指定发出的事件报警级别:1 = 不值得注意,2 = 信息,3 = 关注(缺省),4 = 紧急,5 = 致命。事件报警的类 ID 是 24,事件 ID 是 24003。

分隔符

以逗号分隔这些值。

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

设置 SHMVIRT_ALLOGSEG 配置参数来主动地添加共享内存段,而不是等到数据库服务器自动地添加共享内存段。

如果不能分配新的内存段,则事件报警每三十分钟重复一次。

SHMVIRTSIZE 配置参数

使用 SHMVIRTSIZE 配置参数来指定虚拟共享内存段的初始大小。

onconfig.std 值

与平台有关

如未出现

如果 SHMADD 出现:SHMADD 配置参数的值。

如果 SHMADD 未出现:8192。

32 位平台:正整数,最大值 2 GB

64 位平台:正整数,最大值 4 TB

由于操作系统限制,在一些平台上最大值可能较小。

单位

KB

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

要确定 SHMVIRTSIZE 配置参数适当的值,应使用下列算法来确定共享内存的虚拟部分大小:

shmvirtsize = fixed overhead + ((stack size + heap) * number of users)
变量使用的值
fixed overhead这包括 AIO 向量的大小、排序内存、dbspace 备份缓冲区、字典大小、存储过程高速缓存的大小、直方图池、其他池和其他开销。
要获得固定开销的估计,请启动数据库服务器,如果有的话,还要看分配了多少附加的内存段。当您启动服务器时,您在系统上拥有的用户数影响内存段的分配。当您启动服务器时:
● 如果用户数是您环境的典型用户数,那么将内存段的大小添加到 SHMVIRTSIZE 配置参数的当前值并重启服务器。
● 如果用户数远少于您环境的典型用户数,则必须计算要使用的内存段的适当开销值。当您启动服务器时,将分配的附加内存段数除以那时服务器上的用户数,您可计算每个用户消耗多少内存段。将每一用户内存段的值乘以系统上典型的用户数。将这个计算值的内存段添加到 SHMVIRTSIZE 配置参数的当前值并重启服务器。
stack size在 32 位系统上,使用 32 KB 堆栈大小。在 64 位系统上,您典型地使用 64 KB 堆栈大小。然而,一些 64 位系统使用不同的值。
heap每用户使用 30 KB。
用户数使用服务器上您预计的并发用户会话的最大数目。

如果可能,创建一个共享内存的虚拟部分,其大小大于您每日处理的大小。

默认情况下,GBase 8s 在安装时会自动根据当前内存大小设置 SHMVIRTSIZE 值。计算算法如下:

SHMVIRTSIZE = memorybase * 51200+25600

其中 memorybase =总内存大小/950000。如果计算结果 < 1,则 memorybase = 1

如果 SHMVIRTSIZE 值的计算结果大于 4096000 则,将其取值为 4096000。

使用 onstat -g seg 命令来确定峰值用量并相应地降低 SHMVIRTSIZE 配置参数的值。

SINGLE_CPU_VP 配置参数

SINGLE_CPU_VP 配置参数指定数据库服务器是否正在运行仅一个 CPU 虚拟处理器。

onconfig.std 值

SINGLE_CPU_VP 0

0 = 运行多个 CPU VP

1 = 运行一个 CPU VP

生效

当数据库服务器关闭并重启时

用法

如果您想在数据库服务器启动时自动地增加 CPU VP 的数目,请通过将 SINGLE_CPU_VP 配置参数设置为 0 来禁用它。

设置 SINGLE_CPU_VP 为非零,允许数据库服务器根据仅一个 CPU 虚拟处理器在运行的情况,使用优化的代码。这使得数据库服务器能够绕过许多必须在运行多个 CPU 虚拟处理器时才使用的互斥调用。

当数据库服务器仅运行一个 CPU 虚拟处理器时,强烈地建议您设置这个参数。依赖于应用和工作负载,设置这个参数最大可提高性能 10%。

如果设置 SINGLE_CPU_VP 为非零,并试图添加一个 CPU 虚拟处理器,则您收到下列消息之一:

onmode: failed when trying to change the number of classname VPs by n.
onmode: failed when trying to change the number of cpu virtual processors by n.

如果您设置 SINGLE_CPU_VP 为非零,然后尝试在 VPCLASS cpu, num 设置为一个大于 1 的值的情况下启动数据库服务器,则会收到下列错误消息,且数据库服务器初始化失败:

Cannot have SINGLE_CPU_VP non-zero and CPU VPs greater than 1.

VPCLASS 值和 SINGLE_CPU_VP 配置参数

GBase 8s 将用户定义的虚拟处理器类视作 CPU 虚拟处理器。如果您设置 SINGLE_CPU_VP 配置参数为非零值,则不可创建任何用户定义的虚拟处理器类。

使用用户定义的 VPCLASS

如果您设置这个配置参数为非零值,然后尝试以一个用户定义的 VPCLASS 启动数据库服务器,则会收到下列错误消息,且数据库服务器初始化失败:

oninit: Cannot have SINGLE_CPU_VP non-zero and user-defined VP classes

使用 cpu VPCLASS

如果您设置这个配置参数为非零值,然后尝试以 num 设置为大于 1 的值的 VPCLASS cpu 值来启动数据库服务器,则会收到下列错误消息,且数据库服务器初始化失败:

Cannot have SINGLE_CPU_VP non-zero and CPU VPs greater than 1.

SMX_COMPRESS 配置参数

在从源数据库服务器向目标数据库服务器发送数据之前,使用 SMX_COMPRESS 配置参数来指定数据库服务器使用的压缩级别。

在缓慢的连接之上,网络压缩节约网络带宽,但使用更多的 CPU 来压缩和解压缩数据。比较两服务器的 SMX_COMPRESS 配置参数值并更改到较高的压缩值。

onconfig.std 值

SMX_COMPRESS 0

-1 = 源数据库服务器从不压缩数据,不管目标站点是否使用压缩。

0 = 仅当目标数据库服务器期待压缩的数据时,源数据库服务器才压缩数据。

1 = 数据库服务器执行最小量的压缩。

9 = 数据库服务器执行最大可能的压缩。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

SMX_NUMPIPES 配置参数

此参数定义由远程独立辅助服务器(RHAC)使用的网络 pipe 数。使用此值来为服务器多路复用器组(SMX)设置网络线程处理的级别,可提升较慢网络连接上的传输速率。

onconfig.std 值

SMX_NUMPIPES 1

大于等于 1 的网络连接数。缺省值为 1。

单位

在一给定的 RHAC 服务器与其主服务器之间的网络连接数目

生效

需要在主节点和 RHAC 节点的 onconfig 文件里都设置该参数,才能保证生效。

SMX_PING_INTERVAL 配置参数

使用 SMX_PING_INTERVAL 配置参数来指定超时间隔中的秒数,在服务器多路复用器组(SMX)连接中,辅助服务器在间隔内等待来自主服务器的活动。

onconfig.std 值

SMX_PING_INTERVAL 10

0 = 不确定地等待。

1 与 60 之间且包括 1 和 60 的正整数。= 超时间隔中的秒数。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

运行带有 "onmode","-wf SMX_PING_INTERVAL=value" 或 "onmode","-wm SMX_PING_INTERVAL=value" 参数的 SQL 管理 API task() 或 admin() 函数之后。

用法

如果在 SMX_PING_INTERVAL 配置参数指定的时间长度期间,以及 SMX_PING_RETRY 配置参数指定的间隔数之后,辅助服务器未收到任何消息,则辅助服务器打印错误消息到 online.log 并关闭 SMX 连接。如果 SMX 超时消息在 online.log 中,则您可增加 SMX_PING_INTERVAL 值、SMX_PING_RETRY 值,或者增加二者的值。

这个配置参数仅应用于辅助服务器。如果您在主服务器上设置 SMX_PING_INTERVAL,则在主服务器成为辅助服务器时该参数生效。

如果高可用性集群中的辅助服务器的 onconfig 文件有下列条目,则辅助服务器总共等待来自主服务器的活动 180 秒。如果在那 180 秒期间没有来自主服务器的活动,则辅助服务器关闭 SMX 连接并将错误消息写到 online 日志。

SMX_PING_INTERVAL 30 SMX_PING_RETRY 6

SMX_PING_RETRY 配置参数

如果没有收到来自主服务器的响应,则使用 SMX_PING_RETRY 配置参数来指定辅助服务器重复 SMX_PING_INTERVAL 配置参数指定的超时间隔的最大次数。如果达到最大数目而没有响应,则辅助服务器在 online.log 中打印错误消息并关闭服务器多路复用器组(SMX)连接。

onconfig.std 值

SMX_PING_RETRY 6

任何正整数 = 重复超时间隔的最大次数。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

运行带有 "onmode","-wf SMX_PING_RETRY=value" 或 "onmode","-wm SMX_PING_RETRY=value" 参数的 SQL 管理 API task() 或 admin() 函数之后。

用法

如果在 SMX_PING_INTERVAL 配置参数指定的时间长度期间,以及 SMX_PING_RETRY 配置参数指定的间隔数之后,辅助服务器未收到任何消息,则辅助服务器打印错误消息到 online.log 并关闭 SMX 连接。如果 SMX 超时消息在 online.log 中,则您可增加 SMX_PING_INTERVAL 值、SMX_PING_RETRY 值,或者增加二者的值。

这个配置参数仅应用于辅助服务器。如果您在主服务器上设置 SMX_PING_RETRY,则在主服务器成为辅助服务器时该参数生效。

如果高可用性集群中的辅助服务器的 onconfig 文件有下列条目,则辅助服务器总共等待来自主服务器的活动 60 秒。如果在那 60 秒期间没有来自主服务器的活动,则辅助服务器关闭 SMX 连接并将错误消息写到 online 日志。

SMX_PING_INTERVAL 12
SMX_PING_RETRY 5

SP_AUTOEXPAND 配置参数

使用 SP_AUTOEXPAND 配置参数来启用或禁用 chunk 的自动创建或扩展。

onconfig.std 值

SP_AUTOEXPAND 1

0 = 禁用 chunk 的自动创建或扩展。

1 = 启用 chunk 的自动创建或扩展。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

当启用 SP_AUTOEXPAND 配置参数,且一个诸如 dbspace 这样的存储容器有一个定义的非零的建大小或扩展大小时,容器是可自动扩展的。

SP_THRESHOLD 配置参数

GBase 8s 自动地运行任务来扩展空间之前,使用 SP_THRESHOLD 配置参数来定义可在存储空间中存在的空闲最小 KB 数量。或者通过扩展空间中现有的 chunk 或者通过添加新 chunk。

onconfig.std 值

SP_THRESHOLD 0

0 = 无阈值。当空间低于禁用的阈值时,运行存储空间监控(mon_low_storage)任务的触发器添加空间。

1 - 50 = 存储空间中空闲 KB 的百分率阈值。

如果该值是 50 或以下,则 GBase 8s 将该值解释为一个百分率(例如,10 = 10%,2.84 = 2.84%)。

1000 至 chunk 大小的最大值 = 阈值或者是 1000 KB,或者是当前平台上 chunk 大小的最大值。

如果该值是 1000 或更高,则 GBase 8s 将该值解释为一个特定的 KB 数。

值 50 - 1000 不是有效的。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

当您设置 SP_THRESHOLD 配置参数为一个大于 0 的有效值时,当 dbspace、临时 dbspace、sbspace、临时 sbspace 或 blobspace中的空闲空间低于该阈值时,内建的 Scheduler 任务,mon_low_storage,自动地运行。

假定 SP_THRESHOLD 配置参数的值是 5.5,服务器解释为 5.5%。如果空间在低空闲页上运行,且空闲空间百分率低于 5.5%,且保持低于那个级别直到 mon_low_storage 任务下一次运行,则那个任务将尝试扩展该空间。如果 SP_THRESHOLD 配置参数设置为 50000 且空间小于 50000 空闲 KB,则下一次 mon_low_storage 任务运行时将扩展那个空间。

值 0 关闭 mon_low_storage 任务,并防止服务器扩展任何空间。然而,当所有空闲页用尽并需要更多时,值 0 不影响服务器扩展空间的能力。

SP_THRESHOLD 配置参数中指定的值适用于属于服务器的所有空间。

SP_WAITTIME 配置参数

在返回一个空间用尽错误之前,使用 SP_WAITTIME 配置参数来指定线程等待 dbspace、临时 dbspace、plogspace、sbspace、临时 sbspace 或 blobspace 空间扩展的最大秒数。

onconfig.std 值

SP_WAITTIME 30

0 - 2147483647

单位

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

服务器用来自动地添加或扩展 chunk 的时间可差异很大,这依赖于不同的因素,诸如 chunk 的大小、相关磁盘驱动的速度以及系统上的负载。当 GBase 8s 自动地添加或扩展 chunk 以防止空闲空间降至 SP_THRESHOLD 配置参数指定的阈值之下时, GBase 8s 强制那些需要该空间的线程等待直到空间可用。如果您想更改线程将等待更多空间的最大秒数,则可更改 SP_WAITTIME 配置参数的值。

仅当存储池包含条目时,线程才会等待存储空间扩展。如果存储池为空,则线程将不等待。

SQL_LOGICAL_CHAR 配置参数

使用 SQL_LOGICAL_CHAR 配置参数来启用或禁用在内建的字符数据类型声明中大小规格的扩展。

onconfig.std 值

SQL_LOGICAL_CHAR OFF( = 以字节为单位解释大小规格)

OFF = 声明的大小无扩展。

1 = 声明的大小无扩展。

2 = 使用 2 作为声明的大小的扩展因子。

3 = 使用 3 作为声明的大小的扩展因子。

4 = 使用 4 作为声明的大小的扩展因子。

ON = 使用 M 作为扩展因子,此处 M 是在当前数据库代码集中任何逻辑字符需要的以字节记的最大长度。依赖于 DB_LOCALE 设置, M 有一个从 1(单字节语言环境中)直至 4 的整数范围。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

对于在单语言环境中开发但是在多语言环境中部署的应用,这个特性可降低在数据条目操作期间截断多字节逻辑字符的风险。

在诸如 UTF-8 这样的单字节代码集中,或一些东亚语言的多字节代码集中,单个逻辑字符可要求多于一个字节的存储。设置这个参数可以指导 SQL 分析器将逻辑字符语义应用到这些内建的字符数据类型的声明:

  • CHAR
  • CHARACTER
  • CHARACTER VARYING
  • LVARCHAR
  • NCHAR
  • NVARCHAR
  • VARCHAR
  • DISTINCT 类型,声明任意这些数据类型作为基本类型
  • ROW 类型(命名的和未命名的),包括这些数据类型的域
  • 集合类型(LIST、MULTISET 或 SET),包括这些类型作为元素。

您为这个参数指定的设置必须是下列值之一:

SQL_LOGICAL_CHAR 配置参数是否设置为启用或禁用声明的存储大小的扩展,对于 GBase 8s 实例的所有会话,其设置指定数据类型声明如何解释。

扩展因子的自动调整大小

当 SQL_LOGICAL_CHAR 设置为有效的数字,且当前会话创建数据库时, GBase 8s 比较 SQL_LOGICAL_CHAR 值与任何逻辑字符将用于数据库的代码集的最大字节数。

如果 SQL_LOGICAL_CHAR 设置大于最大字节数,则数据库使用语言环境的最大值作为新的扩展因子,取代配置文件指定的因子。在配置文件中的 SQL_LOGICAL_CHAR 设置保持不变,继续作为其他用户数据库的缺省扩展因子发挥作用。

类似地,如果会话的 SQL_LOGICAL_CHAR 值自动地重置为一个数字,如上所述,但同一会话随后连接到另一个数据库,其语言环境使用一个代码集,在该代码集中逻辑字符要求比当前扩展因子更大的存储大小, 则在用户会话连接到那个数据库时, GBase 8s 使用新代码集的最大字节数作为新的扩展因子,而不使用 SQL_LOGICAL_CHAR 的当前设置。

扩展因子的自动重置以匹配代码集中最大的逻辑字符大小,在连接时 DB_LOCALE 指定该代码集,当 SQL_LOGICAL_CHAR 设置为 ON 时也会发生,但是, 当 SQL_LOGICAL_CHAR 以两种方式设置为数字(1、2、3 或 4)时,ON 的影响与对数据库服务器行为的影响不相同:

  • 如果 SQL_LOGICAL_CHAR 设置为 ON,则扩展因子可自动地重置为较小的值。
  • SQL_LOGICAL_CHAR = 4 与 SQL_LOGICAL_CHAR = ON 之间没有不同。

如果当前会话连接到一个数据库时,该数据库在 DB_LOCALE 代码集中的最大逻辑字符要求一个比当前 SQL_LOGICAL_CHAR 设置更小的字节数,则必须设置 SQL_LOGICAL_CHAR 为 ON,而不是一个数字。有效的扩展因子将总是小于或等于语言环境的最大字符大小。

SQLTRACE 配置参数

使用 SQLTRACE 参数来控制 SQL 跟踪的启动环境。

onconfig.std 值

UNIX™ 上:未设置。禁用 SQL 跟踪。

生效

编辑 onconfig 文件并重启数据库服务器之后。

运行带有 set sql tracing 参数的 SQL 管理 API task() 或 admin() 函数之后。

用法

从 onconfig 移除 # 符号来保持关于任何用户运行的最后 1000 个 SQL 语句的基本信息,大小最多 2 KB。通过调整 SQLTRACE 配置参数的域值,您可定制 SQL 跟踪信息的范围。

SQLTRACE 配置参数语法图

SQLTRACE 配置参数值的选项.

level跟踪的信息量:
● Low = 缺省。捕获语句统计信息、语句文本和语句迭代器。
● Medium = 捕获包括在 low 级别跟踪中的所有信息,外加表名、数据库名和存储过程堆栈。
● High = 捕获包括在 medium 级别跟踪的所有信息,外加主机变量。
● Off = 指定无 SQL 跟踪。
ntracesnumber_traces 值是重新使用资源之前 SQL 语句跟踪的数目。缺省是 1000。范围是 500 - 2147483647。
sizebuffer_size 值是要存储的可变长度数据大小的最大值,以 KB 为单位。缺省是 2。范围是 1 -100。如果超过这个缓冲区大小,则数据库服务器丢弃保存的数据。
mode执行跟踪的范围:
● Global = 缺省。所有用户。
● User = 通过 SQL 管理 API task() 或 admin() 函数启用跟踪的用户。如果您想要得到一小部分用户正在运行的 SQL 样例,请指定这个模式。

onstat -g his 命令显示 SQL 跟踪信息。

SSL_KEYSTORE_LABEL 配置参数

使用 SSL_KEYSTORE_LABEL 配置参数来指定在 GBase_8s keystore 数据库中使用的服务器数字证书的标签。GBase_8s keystore 数据库是一个存储 SSL 密钥和数字证书的受保护数据库。

onconfig.std 值

未设置。

最多 512 个字符的在安全套接字层(SSL)协议通信中使用的 GBase 8s 证书标签

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

缺省值与缺省 SSL 认证的标签名称相同。SSL 证书存储在 $GBASEDBTDIR/ssl/servername.kdb 目录中的 GBase 8s keystore 中。

STACKSIZE 配置参数

使用 STACKSIZE 配置参数来指定数据库服务器用户线程的堆栈大小。

onconfig.std 值

STACKSIZE 32,32 位数据库服务器

STACKSIZE 64,64 位数据库服务器

32 至由数据库服务器配置和可用内存量确定的限度

单位

KB

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

STACKSIZE 的值没有上限,但设置过大的值会浪费虚拟内存空间并可导致交换空间问题。

对于 32 位平台,对非递归的数据库活动而言,32 KB 的缺省 STACKSIZE 值足够。对于 64 位平台,推荐的 STACKSIZE 值是 64 KB。当数据库服务器执行递归的数据库任务时,例如在一些 SPL 例程中,数据库服务器检查堆栈大小溢出的可能性并自动地扩展堆栈。

用户线程执行用户定义的例程。要增加一个特定例程的堆栈大小,请在 CREATE FUNCTION 语句上使用 stack 修饰符。

警告

设置 STACKSIZE 的值过低可导致堆栈溢出,虽未定义其结果,但其结果通常是不好的。

STARTWITH_OPTIMIZE_MODE 配置参数

指定是否开启START WITH的HASH优化,0:不开启;1:开启。此优化为实例级优化,默认为不开启。

在START WITH语句中增加HINT /*+STARTWITH_BIGHASH*/,对应的语句执行时会进行HASH优化,例如:

SELECT /*+STARTWITH_BIGHASH*/ a FROM t3
START WTIH a=1 CONNECTED BY b=PRIOR a;

STATCHANGE 配置参数

当启用 UPDATE STATISTICS 操作的自动模式时,如果分布统计有资格更新,则使用 STATCHANGE 配置参数来指定数据库用来确定更改阈值的全局百分率的一个正整数。

onconfig.std 值

STATCHANGE 10

0 - 100

单位

更改阈值的百分率

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

当 AUTO_STAT_MODE 配置参数、AUTO_STAT_MODE 会话环境变量或 UPDATE STATISTICS 语句的 AUTO 关键词启用 UPDATE STATISTICS 操作的自动模式时,数据库服务器使用 STATCHANGE 配置参数的值。

当启用 UPDATE STATISTICS 操作的自动模式时,STATCHANGE 设置为数据库服务器指定一个更改阈值,用来确定分布统计是否有资格更新。当启用这个模式时,UPDATE STATISTICS 语句比较该 STATCHANGE 设置与自动计算当前数据分布以来每一表或分片更改行的百分率,并有选择地仅更新在 UPDATE STATISTICS 语句范围内每一表或分片丢失的或陈旧的分布统计。

STD_TO_CHAR 配置参数

使用 STD_TO_CHAR 配置参数来控制 TO_CHAR() 函数的行为。

onconfig.std 值

STMT_TO_CHAR 1

1= 缺省值,体现 TO_CHAR() 函数本身的功能。

0 = TO_CHAR() 函数等同于 GBASE_TO_CHAR() 函数,体现 GBASE_TO_CHAR() 函数的功能。

生效

编辑 onconfig 文件并重启数据库服务器之后。

STD_TO_DATE 配置参数

使用 STD_TO_DATE 配置参数来控制 TO_DATE() 函数的行为。

onconfig.std 值

STMT_TO_DATE 1

1= 缺省值,体现 TO_DATE() 函数本身的功能。

0 = TO_DATE() 函数等同于 GBASE_TO_DATE() 函数,体现GBASE_TO_DATE() 函数的功能。

生效

编辑 onconfig 文件并重启数据库服务器之后。

STMT_CACHE 配置参数

使用 STMT_CACHE 配置参数来确定数据库服务器是否使用 SQL 语句高速缓存。

onconfig.std 值

STMT_CACHE 0

0 = 不使用 SQL 语句高速缓存(等同于 onmode -e OFF)。

1 = 启用 SQL 语句高速缓存,但用户会话不使用高速缓存。仅当设置环境变量 STMT_CACHE 为 1 或执行 SQL 语句 SET STATEMENT CACHE ON 时,用户使用该高速缓存。

2 = 开启 SQL 语句高速缓存。高速缓存所有语句。要关闭语句高速缓存,请设置环境变量 STMT_CACHE 为 0 或执行 SQL 语句 SET STATEMENT CACHE OFF。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

您可以两种模式之一启用 SQL 语句高速缓存:

  • 总是使用 SQL 语句高速缓存除非用户明确地指定不使用它。设置 STMT_CACHE 配置参数为 2 或 onmode -e ON。
  • 仅当用户明确地指定使用 SQL 语句高速缓存时才使用它。设置 STMT_CACHE 配置参数为 1 或 onmode -e ENABLE。

STMT_CACHE_HITS 配置参数

使用 STMT_CACHE_HITS 配置参数来指定在语句完全地插入到 SQL 语句高速缓存中之前命中(引用)语句的数目。

onconfig.std 值

STMT_CACHE_HITS 0

0 = 在 SQL 语句高速缓存中完全地插入所有限定的语句。

0 = 用户首次发出唯一的语句,数据库服务器在该语句标识的高速缓存中插入一个 key-only 条目。随后的同一语句增加 key-only 高速缓存条目的命中数。当 key-only 高速缓存条目的命中数达到指定的命中数时,数据库服务器在高速缓存中完全地插入语句。设置 hits 为 1 或更多来排除 GBase_8s ad hoc 查询进入高速缓存。

单位

整数

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

STMT_CACHE_NOLIMIT 配置参数

使用 STMT_CACHE_NOLIMIT 配置参数来控制是否将限定的语句插入到 SQL 语句高速缓存内。

onconfig.std 值

STMT_CACHE_NOLIMIT 0

如未出现

1

0 = 防止将语句插入到高速缓存中。如果当前高速缓存中的大多数语句当前在用,则高速缓存可增长超过大小限制,因为高速缓存清除赶不上插入的速度。如果您关注内存使用情况,则请关闭 STMT_CACHE_NOLIMIT 以防数据库服务器为高速缓存分配大量内存。

1 = 总是在 SQL 语句高速缓存中插入语句,不管高速缓存的大小。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

STMT_CACHE_NUMPOOL 配置参数

使用 STMT_CACHE_NUMPOOL 配置参数来为 SQL 语句高速缓存指定内存池的数目。要获得关于这些内存池的信息,请使用 onstat -g ssc pool。

因为数据库服务器不插入所有从高速缓存中的内存池分配内存的语句,高速缓存大小可能比内存池的大小合计小一些。

onconfig.std 值

STMT_CACHE_NUMPOOL 1

1 - 256

单位

正整数

生效

编辑 onconfig 文件并重启数据库服务器之后。

STMT_CACHE_SIZE 配置参数

使用 STMT_CACHE_SIZE 配置参数来指定以 KB 为单位的 SQL 语句高速缓存的大小。在下一次添加语句到高速缓存时,新的高速缓存大小生效。

onconfig.std 值

STMT_CACHE_SIZE 512

正整数

单位

KB

生效

编辑 onconfig 文件并重启数据库服务器之后。

STOP_APPLY 配置参数

使用 STOP_APPLY 配置参数来停止 RHAC 辅助服务器应用从主服务器收到的日志文件。

onconfig.std 值

STOP_APPLY 0

缺省值

0

0 = 应用日志

1 = 立即停止应用日志

"YYYY:MM:DD-hh:mm:ss" = 在指定的时间停止日志应用,此处:

  • YYYY = 年
  • MM = 月
  • DD = 日
  • hh = 时
  • mm = 分
  • ss = 秒

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

参考

GBase 8s 管理员指南 中的 RHAC 辅助服务器灾难恢复的延迟

用法

停止日志文件的应用允许您通过从 RHAC 辅助服务器恢复数据快速地从错误的数据库修改恢复。您可配置服务器或立即或在指定的时间点停止日志的应用。当设置 STOP_APPLY 值时,您还必须设置 LOG_STAGING_DIR。如果配置 STOP_APPLY 而未将 LOG_STAGING_DIR 设置为一个有效且安全的目录,则不可初始化服务器。

日志文件以二进制格式存储在 LOG_STAGING_DIR 配置参数指定的目录中。您必须为日志文件指定一个有效和安全的位置。

要查看关于发送到为 RHAC 辅助服务器设置的日志 GBase_8s staging 目录的数据信息,请在 RHAC 辅助服务器上运行 onstat -g rss verbose 命令。

如果向 staging 文件写失败,则 RHAC 辅助服务器发起事件报警 40007。

假定为 STOP_APPLY 配置参数指定的时间值与 RHAC 辅助服务器在同一个时区中。

dbexport 命令不可支持在可更新的辅助服务器上的写操作,除非设置 STOP_APPLY 参数。(除 STOP_APPLY之外,UPDATABLE_SECONDARY 和 USELASTCOMMITTED 配置参数还必须通过在辅助数据复制服务器上的 dbexport 设置为启用写操作。)

如果远程独立辅助(RHAC)服务器将其 STOP_APPLY 配置参数设置为一个非零的值,则那台服务器不可使用群组事务协调。

STORAGE_FULL_ALARM 配置参数

使用 STORAGE_FULL_ALARM 配置参数来配置当存储空间填满时消息和报警的频率和严重程度。

onconfig.std 值

STORAGE_FULL_ALARM 600,3

seconds = 0(关)或指明通告之间秒数的正整数。

severity_level = 0(无报警)或 1 - 5

单位

seconds,severity_level

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

当诸如 dbspace、sbspace、blobspace 或 tblspace 这样的存储空间或分区填满时,发起报警并发送消息到 online 消息日志。您可以这个参数的第一个值指定通告之间的秒数。您可指定返回的事件报警的最低严重程度。设置特定的严重程度防止发出严重程度更低的事件。但会发出与指定的严重程度相同或更严重的事件。您可通过设置这个参数为 0 防止当存储空间填满时报警。

不管 STORAGE_FULL_ALARM 的值,当存储空间或分区填满时,都将消息发送到 online 消息日志。

SYSALARMPROGRAM 配置参数

使用 SYSALARMPROGRAM 配置参数来指定 evidence.sh 脚本的全路径名。当数据库服务器发生故障时,数据库服务器执行 evidence.sh。 您可使用从 evidence.sh 脚本的输出来诊断数据库故障的原因。

onconfig.std 值

UNIX™ 上:$GBASEDBTDIR/etc/evidence.sh

pathname = evidence.sh 脚本的全路径名。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

SYSSBSPACENAME 配置参数

使用 SYSSBSPACENAME 配置参数来指定 sbspace 的名称,数据库服务器在其中存储分片级别数据分布统计信息,syfragsdist 系统目录表在其 encsdist 列中存储为 BLOB 对象。 还使用 SYSSBSPACENAME 来指定 sbspace 的名称,数据库服务器在其中存储 UPDATE STATISTICS 语句为某些用户定义的数据类型收集的统计信息。

onconfig.std 值

未设置。

如未出现

0

最多 128 字节。SYSSBSPACENAME 必须是唯一的,以一个字母或下划线开头,且仅包含数字、字母、下划线或 $ 字符。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

参考

  • 更新统计信息,在 GBase 8s 性能指南 中关于个别查询性能的章节中
  • sbspace 特征,在 GBase 8s 性能指南 中关于配置对 I/O 影响的章节中
  • 写用户定义的统计信息,在 GBase 8s 用户定义的例程和数据类型开发者指南 中的性能章节中
  • 提供一列的统计信息数据,在 GBase 8s DataBlade API 程序员指南 中

用法

要支持分片级别统计信息,您必须指定一个 sbspace 的名称作为 SYSSBSPACENAME 设置,且您必须分配那个 sbspace(通过使用 onspaces 命令,如下所示。对于任何其 STATLEVEL 属性设置为 FRAGMENT 的表,如果未设置 SYSSBSPACENAME,或如果未正当地分配 SYSSBSPACENAME 设置到的那个 sbspace,则数据库服务器返回错误)。

对于分片表中一列的分布统计信息,您可根据这个公式估计该 sbspace 要求的存储容量为多少字节:

nfrags * 1.25 * ((10000 / resolution) * ((2 * column_width) + 6))

此处 1.25 接近溢出 GBase_8s bin 的数目。公式还包括这些变量:

  • column_width 是 UPDATE STATISTICS 语句指定列的以字节计的宽度。
  • nfrags 是表的分片数。
  • resolution 是计算分布的 UPDATE STATISTICS 语句的 resolution 子句中 percent 值。

resolution 还是 dbschema -hd table 命令为该列分布统计信息显示的内容。

SYSSBSPACENAME 还指定 sbspace 的名称,数据库服务器在其中存储 UPDATE STATISTICS 语句为某些用户定义的数据类型收集的统计信息。通常情况下,数据库服务器在 sysdistrib 系统目录表中存储统计信息。

请不要混淆 SYSSBSPACENAME 配置参数与 SBSPACENAME 配置参数。

由于用户定义的数据类型的数据分布可很大,您有在 sbspace 中存储它们,而不存储在 sysdistrib 系统目录表中的选项。如果您在 sbspace 中存储数据分布,则请使用 DataBlade API 或 GBase 8s ESQL/C 功能来检查统计信息。

即使您以 SYSSBSPACENAME 参数指定一个 sbspace,在可使用它之前,您也必须以 onspaces 命令的 -c -S 选项创建该 sbspace。当发生下列情况之一时,数据库服务器验证这个 sbspace 的名称:

  • 当数据库服务器执行带有 MEDIUM 或 HIGH 关键词的 UPDATE STATISTICS 语句时,数据库服务器尝试将多重表示类型的数据分布写到 SYSSBSPACENAME。
  • 当数据库服务器执行带有 DROP DISTRIBUTIONS 关键词的 UPDATE STATISTICS 语句时,数据库服务器尝试将多重表示类型的数据分布删除到 SYSSBSPACENAME。

如果未设置 SBSSPACENAME,或如果未分配存储到那个 sbspace,则数据库服务器可能存储分布统计信息,以便 UPDATE STATISTICS 操作以错误 -9814失败。

虽然您可在 SYSSBSPACENAME 中指定的 sbspace 中存储智能大对象,但推荐将分布统计信息与智能大对象保持在分开的 sbspace 中,因为:

  • 您要避免当查询正在访问智能大对象,且查询优化器正在使用分布来确定查询计划时发生磁盘争用。
  • 当每一 sbspace 用于不同的目的,磁盘空间花费较长时间才填满。

TAPEBLK 配置参数

用于存储空间备份的磁带的块大小(以千字节为单位)。

TAPEDEV 配置参数

用于存储空间备份的目录文件系统或磁带设备的绝对路径名称。指定 ontape 在归档过程中写入存储空间数据的目标位置,以及 ontape在恢复过程中读取数据的源位置。

要配置 ontape 以使用 stdio,将 TAPEDEV 设置为 STDIO。

在云环境中备份或恢复时,将以下语法用于 TAPEDEV 配置参数:

TAPEDEV 'local_path, keep=option, cloud=cloud_vendor, url=url'
  • local_path 是将存储空间备份对象临时存储在的目录的完整路径名。
  • option 可以设置为 yes 或 no。如果 keep 设置为 yes,那么 ontape 命令将备份对象保留在本地目录中。如果 keep 设置为 no,那么在云存储位置中传输备份对象后,会将这些对象删除。
  • cloud_vendor 是云存储供应商的名称。
  • url 是将存储空间备份数据永久存储在的云存储位置。

TAPESIZE 配置参数

用于存储空间备份的磁带的大小(以千字节为单位)。 值可以为 0 - 2,097,151。

TBLSPACE_STATS 配置参数

使用 TBLSPACE_STATS 配置参数来开启或关闭 tblspace 统计信息的收集。使用 onstat -g ppf 命令来罗列 tblspace 统计信息。

onconfig.std 值

TBLSPACE_STATS 1

0 = 关闭 tblspace 统计信息的收集。onstat -g ppf 命令显示 partition profiles disabled。

1 = 开启 tblspace 统计信息的收集。

单位

整数

生效

编辑 onconfig 文件并重启数据库服务器之后。

TBLTBLFIRST 配置参数

如果您想要指定 root dbspace 中 tblspace tblspace 的第一个 extent 大小,则请使用 TBLTBLFIRST 配置参数。如果您不想要数据库服务器自动地管理 extent 大小,则请设置这个参数。

onconfig.std 值

TBLTBLFIRST 0

从以 KB 指定的 250 页等同的大小,至第一个 chunk 的大小减去任何系统对象需要的空间。

单位

以 KB 为单位的页大小的倍数

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

您可能想要指定第一个和下一个 extent 大小来减少 tblspace tblspace extent 的数目并减少将 tblspace tblspace extent 置于非主 chunk 中的频率(主 chunk 是一个 dbspace 中的初始 chunk。)

您可使用 oncheck -pt 和 oncheck -pT 来显示 tblspace tblspace 第一个和下一个 extent 大小。

如果您想要为非 root dbspace 配置第一个 extent,则请使用 onspaces 命令。

TBLTBLNEXT 配置参数

TBLTBLNEXT 配置参数指定 root dbspace 中 tblspace tblspace 的下一个 extent 大小。如果您不想要数据库自动地管理 extent,则请设置这个参数。

onconfig.std 值

TBLTBLNEXT 0

从以 KB 指定的 4 页的等同大小,至最大 chunk 大小减去三页

单位

KB

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

如果在主 chunk 中没有下一个 extent 的足够空间,则从另一个 chunk 分配该 extent。如果指定的空间不可用,则分配最近的可用空间。

TEMPTAB_NOLOG 配置参数

使用 TEMPTAB_NOLOG 配置参数来在临时表上禁用日志记录。

onconfig.std 值

TEMPTAB_NOLOG 0

0 = 在临时表操作上启用逻辑日志记录

1 = 在临时表操作上禁用逻辑日志记录

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

因为防止 GBase 8s 在网络上转移临时表,所以这个参数可提高应用程序中的性能。可用 onmode -wf 命令动态地更新该设置。

如果您启用这个设置,则请注意,当使用临时表时因为没有日志记录数据,在临时表上回滚事务将不再在临时表中恢复工作的原状。

对于高可用性集群中的HAC、RHAC 和 SSC 辅助服务器,应总是通过设置 TEMPTAB_NOLOG 配置参数为 1 来禁用临时表上的逻辑日志记录。

TLS_VERSION 配置参数

使用 TLS_VERSION 配置参数来指定数据库服务器用于网络连接的“传输层安全”(TLS)版本。缺省情况下,启用 TLS 版本 1.0、1.1 和 1.2。

onconfig.std 值

未设置。启用所有版本。

缺省值

1.0,1.1,1.2

一个或多个 TLS 版本。以逗号分隔多个版本。

  • 1.0 = TLS 版本 1.0。
  • 1.1 = TLS 版本 1.1。
  • 1.2 = TLS 版本 1.2。

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

TLS 是“安全套接字层”(SSL)的后继者,提供客户端/服务器连接的密码协议。为了计算机的通信,它们必须有一个共同的 TLS 版本,与那个 TLS 级别的一个有效数字证书在一起。 例如,如果两台计算机启用 TLS 1.0、1.1 和 1.2,但其中一台计算机的数字证书仅支持 TLS 1.0,则该连接将在 TLS 1.0 一级。

TXTIMEOUT 配置参数

使用 TXTIMEOUT 配置参数来指定在开始参与者恢复之前,在两阶段提交中一个参与者等待的时间量。这个参数仅用于涉及远程数据库服务器的分布查询。非分布查询不使用这个参数。

onconfig.std 值

TXTIMEOUT 300

正整数

单位

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

UNSECURE_ONSTAT 配置参数

使用 UNSECURE_ONSTAT 配置参数来移除数据库系统管理员(DBSA)用户 onstat 命令的访问限制。

onconfig.std 值

未设置。

1 = 所有用户可运行 onstat 命令来查看正在运行的 SQL 语句

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

缺省情况下,限制 DBSA 用户从活动的会话使用显示 SQL 语句文本的 onstat 命令。要移除这个限制,请设置 UNSECURE_ONSTAT 配置参数为 1。显示 SQL 语句的 onstat 命令包括 onstat -g his、onstat -g ses、onstat -g stm、onstat -g ssc 和 onstat -g sql。

UPDATABLE_SECONDARY 配置参数

使用 UPDATABLE_SECONDARY 配置参数来设置在主服务器与辅助服务器之间要建立的连接数。设置这个配置参数使得客户端应用能够在一台高可用性辅助服务器上执行更新、插入和删除操作。

onconfig.std 值

UPDATABLE_SECONDARY 0

从零(缺省值)直到两倍于 CPU VP 数目的任何数。设置该值为 0 配置辅助服务器为只读。设置该值为从 1 值 CPU VP 数目的两倍,使得辅助服务器可更新并配置连接线程。

单位

在一给定的辅助服务器与其主服务器之间的网络连接数目

生效

编辑 onconfig 文件并重启数据库服务器之后。

“辅助数据复制服务器”的隔离级别

如果 UPDATABLE_SECONDARY 配置参数未设置或设置为零,则辅助数据复制服务器为只读。在这种情况下,在辅助服务器上仅 DIRTY READ 或 READ UNCOMMITTED 事务隔离级别可用。

如果 UPDATABLE_SECONDARY 参数设置为一个大于零的有效连接数,则辅助数据复制服务器可支持 COMMITTED READ、COMMITTED READ LAST COMMITTED 或 COMMITTED READ 事务隔离级别,或者 USELASTCOMMITTED 会话环境变量。仅 SQL DML 语句,诸如 INSERT、UPDATE、MERGE 和 DELETE 和 dbexport 命令,可支持在可更新的辅助服务器上写操作。(除了 UPDATABLE_SECONDARY 之外,还必须设置 STOP_APPLY 和 USELASTCOMMITTED 配置参数通过在辅助数据复制服务器上的 dbexport 来启用写操作。)

USELASTCOMMITTED 配置参数

使用 USELASTCOMMITTED 配置参数来指定隔离级别,COMMITTED READ 隔离级别的 LAST COMMITTED 特征是隐含有效的。

onconfig.std 值

USELASTCOMMITTED "NONE"

缺省值

"NONE"

"NONE" = 未标识隔离级别。当尝试在 Committed Read、Dirty Read、Read Committed 或 Read UncommittedNo 隔离级别中读一行时,如果您的会话遇到排他锁,则您的事务不可读那一行,直到持有该排他锁的并发事务提交或回滚。

"COMMITTED READ" = 所有来自 Committed Read 隔离级别的事务都视为最后提交事务。当数据库服务器在试图读一个 Committed Read 或 Read Committed 隔离级别中的行时遇到一个排他锁,数据库服务器读该数据的最近提交版本。

"DIRTY READ" = 所有来自 Dirty Read 隔离级别的事务都视为最后提交事务。如果数据库服务器在试图读一个 Dirty Read 或 Read Uncommitted 隔离级别中的行时遇到一个排他锁,则数据库服务器读该数据的最近提交版本。

"ALL" = 所有来自 Committed Read 和 Dirty Read 两个隔离级别的事务都视为最后提交事务。如果数据库服务器在试图读一个 Committed Read、Dirty Read、Read Committed 或 Read Uncommitted 隔离级别中的行时遇到一个排他锁,则数据库服务器读该数据的最近提交版本。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

LAST COMMITTED 特征可减小在有排他行锁的表上并发事务之间发生锁定冲突的风险。USELASTCOMMITTED 配置参数还可为 SET TRANSACTION 语句的 READ COMMITTED 和 READ UNCOMMITTED 隔离级别启用 LAST COMMITTED 语义。

USELASTCOMMITTED 配置参数仅与那些已经创建或更改为锁定颗粒度的 ROW 级别的表一起工作。没有以任何锁模式设置创建的表使用 DEF_TABLE_LOCKMODE 中的缺省设置。如果 DEF_TABLE_LOCKMODE 设置为 PAGE,则 USELASTCOMMITTED 配置参数不可访问表中的最近提交数据,未提交的事务在这些表上持有排他锁,除非这些表明确地变更为锁定颗粒度的 ROW 级别。

与共享磁盘辅助数据库服务器一起使用

在“共享磁盘”(SSC)辅助数据库服务器上,USELASTCOMMITTED 配置参数也有效。下列表显示 SSC 辅助服务器上 USELASTCOMMITTED 配置参数的有效值及其描述。

USELASTCOMMITTED 值描述
NONECOMMITTED READ LAST COMMITTED 不是会话的缺省隔离级别
COMMITTED READCOMMITTED READ LAST COMMITTED 是所有带有 Committed Read 隔离的会话的缺省隔离级别
DIRTY READCOMMITTED READ LAST COMMITTED 是所有带有 Dirty Read 隔离的会话的缺省隔离级别
ALLCOMMITTED READ LAST COMMITTED 是所有带有 Committed Read 或 Dirty Read 隔离的会话的缺省隔离级别

USEOSTIME 配置参数

onconfig.std 值

USEOSTIME 0

0 = 关

1 = 开

生效

初始化期间

参考

  • GBase 8s 性能指南
  • 使用 CURRENT 函数来返回 datetime 值,在 GBase 8s SQL 指南:语法 中

用法

设置 USEOSTIME 为 1 指定当数据库服务器从操作系统为 SQL 语句获取当前时间时,数据库服务器要使用亚秒精度。下列示例显示 datetime 值中的亚秒:

2001-09-29 12:50:04.612

如果不需要亚秒精度,则数据库服务器每秒从操作系统检索当前时间一次,使得客户端应用的时间精度为一秒。如果设置 USEOSTIME 为 0,则当前函数为该年向分数域返回零(.000)。

当数据库服务器的主机计算机有亚秒精度时钟时,其 SQL 语句依赖于亚秒精确度的应用应设置 USEOSTIME 为 1。

与关闭 USEOSTIME 运行的系统相比,USEOSTIME 设置为非零的系统注意到性能下降达 4% 至 5%。

从应用程序到 GBase 8s 内嵌语言库函数,这个设置不影响任何关于时间的调用。

USERMAPPING 配置参数(UNIX™,Linux™)

使用 USERMAPPING 配置参数来设置数据库服务器是否接受来自映射用户的连接。

缺省值

OFF

OFF = 仅在有登录服务的 GBase 8s 主机计算机 OS 中注册的那些用户可连接到数据库服务器。在 GBase 8s 主机计算机上没有 OS 账号的外部认证的用户不可连接到数据库服务器资源。

BASIC = 没有 OS 账户的用户可连接到 GBase 8s 。即使没有 OS 账户的用户映射到服务器管理员用户或组 ID,该用户也不可在数据库服务器上执行有权限的用户操作。

ADMIN = 没有 OS 账户的用户可连接到 GBase 8s 。如果用户以一个有权限的用户身份得到认证,且映射到正确的服务器管理员组 ID,则该用户可在数据库服务器上执行 DBSA、DBSSO 或 AAO 的工作。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

当通过设置带有 BASIC 或 ADMIN 值的参数开启 USERMAPPING 时,在 GBase 8s 主机计算机上没有操作系统(OS)账户的外部认证的用户可访问数据库服务器资源。BASIC 或 ADMIN 的设置还确定映射用户能否获得管理权限。

重要

在为映射的用户建立 GBase 8s 中,将 USERMAPPING 配置参数从 OFF 更改为 ADMIN 或 BASIC 不是唯一的步骤。 要以适当的用户属性映射用户,您还必须使用诸如 CREATE USER 和 ALTER USER 这样的 DLL 语句,在 SYSUSER 数据库的适当系统表中来注册这些值。 依赖于使用的 DDL 语句和定义的表映射,将更新或填入下列表:

  • SYSINTAUTHUSERS
  • SYSUSERMAP
  • SYSSURORGATES
  • SYSSURROGATEGROUPS

USRC_HASHSIZE 配置参数

USRC_HASHSIZE 配置参数指定 LBAC 凭证内存高速缓存中散列存储区的数目。这个内存高速缓存持有关于用户 LBAC 凭证的信息。

onconfig.std 值

USRC_HASHSIZE 31

任何正整数

单位

KB

生效

编辑 onconfig 文件并重启数据库服务器之后。

USRC_POOLSIZE 配置参数

USRC_POOLSIZE 配置参数指定在 LBAC 凭证内存高速缓存的每一散列存储区中条目的最大数。这个内存高速缓存持有关于用户 LBAC 凭证的信息。

onconfig.std 值

USRC_POOLSIZE 127

正值 127 或更大,表示高速缓存中条目的初始最大数目的一半。该最大值依赖于共享内存配置和服务器实例的可用共享内存。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wm 命令增加内存中的该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

高速缓存中条目的初始数目是 USRC_POOLSIZE 配置参数值的两倍。例如,如果 USRC_POOLSIZE 配置参数设置为 127,则该高速缓存中允许 254 个条目。 如果高速缓存中的所有条目填满,则高速缓存大小自动地增长 10%。要减小高速缓存的大小,请降低 onconfig 文件中 USRC_POOLSIZE 配置参数的值并重启服务器。

USTLOW_SAMPLE 配置参数

当您在 LOW 模式中运行 UPDATE STATISTICS 语句时,使用 USTLOW_SAMPLE 配置参数来根据样例启用索引统计信息的生成。

对于有多于 100 K 叶子页的索引,使用样例收集统计信息可提高 UPDATE STATISTICS 操作的速度。

onconfig.std 值

USTLOW_SAMPLE 1

0 = 禁用样例

1 = 启用样例

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

VP_MEMORY_CACHE_KB 配置参数

使用 VP_MEMORY_CACHE_KB 参数来为每一 CPU 虚拟处理器创建私有内存高速缓存。

onconfig.std 值

VP_MEMORY_CACHE_KB 0

0 = 关

所有私有内存高速缓存的合计大小,可选地后跟逗号和高速缓存的模式。

大小,以 KB 为单位:

  • SHMTOTAL 配置参数指定从 800 到等于内存限制的 40% 的一个数目。

模式:

  • STATIC = 缺省。指定的大小是结合了所有私有内存高速缓存大小的最大值。
  • DYNAMIC = 指定的大小是所有私有内存高速缓存的初始大小。高速缓存大小动态地变更,但不能超过 SHMTOTAL 配置参数的值。

生效

编辑 onconfig 文件并重启数据库服务器。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。

用法

在 GBase 8s 服务器中,私有内存高速缓存可提高线程分配的内存性能。私有内存高速缓存不影响分配给缓冲池或共享内存通信使用的内存。

当您将 VP_MEMORY_CACHE_KB 配置参数的值设置为非零数目时,为每一 CPU 虚拟处理器创建一个私有内存高速缓存。缺省情况下,所有私有内存高速缓存相结合的大小限定在指定的 KB 数。

如果您想要根据需要自动地增加或减少每一私有内存高速缓存的大小,则请在大小之后包括一个逗号和词 DYNAMIC,例如,VP_MEMORY_CACHE_KB 1000,DYNAMIC。虽然所有私有内存高速缓存相结合的最大初始大小不可超过 SHMTOTAL 配置参数值的 40%,带有 DYNAMIC 模式设置,但高速缓存的大小可扩展超出初始的限制。高速缓存的合计大小不可超过 SHMTOTAL 配置参数的值。

注意

在繁忙系统上的动态内存高速缓存可快速地增长,并使用大量可用内存。为此,如果您设置模式为 DYNAMIC,则请设置 SHMTOTAL 配置参数为一特定限制,而不是缺省值 0,设置为 0 不限制内存的数量。

如果您重置 VP_MEMORY_CACHE_KB 配置参数为 0,则内存高速缓存被清空并禁用。

onstat -g vpcache 命令返回关于私有内存高速缓存的统计信息。

VPCLASS 配置参数

使用 VPCLASS 配置参数来创建和配置虚拟处理器。

onconfig.std 值

UNIX™ : VPCLASS cpu,num=1,noage

最多 128 字节字符。每一 VPCLASS 配置参数值必须是唯一的,以一个字母或下划线开头,且仅包含数字、字母、下划线或 $ 字符。不包括空格。

分隔符

以逗号分隔每一域。

生效

编辑 onconfig 文件并重启数据库服务器之后。

用法

您可在 onconfig 文件中添加多个 VPCLASS 配置参数条目。每一 VPCLASS 配置参数必须描述一个不同的虚拟处理器类。每一定义置于单独的行上。

VPCLASS 配置参数的语法

CPU CLASS

VPCLASS 配置参数值的选项

classclass 值是虚拟处理器类的名称。数据库服务器根据需要启动大多数虚拟处理器。典型地,您可能为 CPU、AIO、JVP 和用户定义的虚拟处理器类设置 VPCLASS 配置参数。 虚拟处理器类名不区分大小写。
user_defineduser_defined 值是您为用户定义的例程创建的虚拟处理器类名称。 请确保 SINGLE_CPU_VP 配置参数设置为 0。
autotune指定数据库服务器是否根据需要为指定的类添加虚拟处理器来提高性能,如果包括 max 选项,则最多达 max 选项的值。
● autotune=0 防止自动添加虚拟处理器
● autotune=1 启用虚拟处理器的自动添加 如果该类是 cpu,则自动地添加的任何 CPU 虚拟处理器都没有 affinity。忽略 aff 选项。
cpu指定 CPU 虚拟处理器类。
numnumber_vps 值设置指定类的虚拟处理器数目,当数据库服务器启动时数据库服务器启动这个类。缺省值是 1。cpu 和 aio 虚拟处理器类的值域是 1 - 10000。所有其他虚拟处理器类的值域是 0 - 10000。 您可使用 onmode -p 命令来为当前会话的类添加虚拟处理器。
maxmaximum 值指定数据库服务器可为该类启动的虚拟处理器的最大数目。该值可为大于 0 的任何整数。缺省情况下,该数目是无限制的。
aff在支持处理器 affinity 的多处理器计算机上,aff 选项指定数据库服务器绑定 CPU 虚拟处理器的那些 CPU。操作系统将这些 CPU 编号,从 0 至小于 CPU 数目的一个数。缺省情况下,以轮转法方式将CPU 虚拟处理器分派到可用处理器。aff 选项为一个或多个整数:
● processor = 将 CPU 虚拟处理器绑定到得那个 CPU 编号。CPU 编号可以任何顺序罗列。
● start = CPU 编号范围的起始。
● end = CPU 编号范围的终止。
● increment = 指定在一个使用的范围中 CPU 编号的因子。例如,aff=(1-5/2) 指定使用 CPU 编号 1、3 和 5。
noage如果操作系统实现优先级 aging,则对于 CPU 虚拟处理器禁用优先级 aging。缺省情况下,优先级 aging 有效。
noyield指定用户定义的虚拟处理器类不 yield,允许 C UDR yield 给其他需要访问用户定义的虚拟处理器类的线程。缺省情况下,用户定义的虚拟处理器的线程 yield。 非 yielding 用户定义的虚拟处理器类以一种方式运行用户定义的线程,即给线程排他使用虚拟处理器类。使用非 yield 虚拟处理器类的用户定义的线程串行地运行,且从不将该虚拟处理器 yield 给另一个线程。
因为 UDR 运行在单个虚拟处理器上直到完成,且任何附加的虚拟处理器都会空闲,所以在非 yielding 用户定义的虚拟处理器类中仅指定一个虚拟处理器。

这些选项可以任何顺序出现,以逗号分隔。

使用 onmode -p 命令来动态地添加或移除当前数据库会话的虚拟处理器。onmode -p 命令不更新 onconfig 文件。

CPU 虚拟处理器

在单处理器计算机上,仅分配一个 CPU 虚拟处理器。在多处理器计算机上,分配的 CPU 虚拟处理器加上用户定义的虚拟处理器的总数目最多达到计算机上的 CPU 数。

当数据库服务器启动时,CPU 虚拟处理器的数目自动地增加到数据库服务器计算机上 CPU 处理器数目的一半,除非启用 SINGLE_CPU_VP 配置参数。

如果包括 autotune 选项,则数据库服务器根据需要添加 CPU 虚拟处理器来提高性能,最多达到计算机上的 CPU 数。

当数据库服务器自动地添加 CPU 虚拟处理器时,不更新 CPU 类 VPCLASS 配置参数的 num 选项。

您可配置处理器 affinity 和是否允许 aging。例如,下列条目创建绑定到 CPU 编号 7、8、9 和 10 的四个 CPU 虚拟处理器,且不受优先级 aging 的影响:

VPCLASS CPU,num=4,aff=(7-10),noage

AIO 虚拟处理器

使用 AIO 虚拟处理器类的 VPCLASS 配置参数条目来指定 AIO 虚拟处理器的确切数目,或启用数据库服务器来根据需要添加 AIO 虚拟处理器。

当没有为 AIO 虚拟处理器类设置 VPCLASS 配置参数条目时,由 AUTO_AIOVPS 配置参数的设置确定 AIO 虚拟处理器的数目,且限定到 128:

  • 如果 AUTO_AIOVPS 设置为 1(开),则初始启动的 AIO 虚拟处理器数目等于 AIO chunk 的数目。
  • 如果 AUTO_AIOVPS 设置为 0(关),则启动的 AIO 虚拟处理器数目等于 6 或 AIO chunk 的数目之中较大的一个。

Java™ 虚拟处理器

如果您使用 Java 用户定义的例程或 Java 应用,则通过为 JVP 虚拟处理器类添加 VPCLASS 配置参数条目,创建至少一个 Java 虚拟处理器。如果您设置 JVP 的数目为零,或如果没有 JVP 类的 VPCLASS 参数,则您不可运行 Java UDR。

WSTATS 配置参数

使用 WSTATS 配置参数来指定 onstat -g wst 命令是否显示系统内线程的等待统计信息。

注意: 由于收集统计信息的成本,您应预期产生小的性能影响。不建议为生产系统启用 WSTATS 配置参数。

onconfig.std 值

WSTATS 0

值域

0 = 禁用等待统计信息

1 = 启用等待统计信息

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。

当您通过运行 onmode -wm 命令重置内存中的该值时。